LINUXCON EU v8 When the going gets tough, get...

116
When the going gets tough, Get TUF going! Lily Guo - [email protected] Riyaz Faizullabhoy - [email protected] / @riyazdf

Transcript of LINUXCON EU v8 When the going gets tough, get...

Page 1: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

When the going gets tough,Get TUF going!

Lily Guo - [email protected] Faizullabhoy - [email protected] / @riyazdf

Page 2: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Motivation

What is TUF?

Using TUF

Hermetic Builds

Page 3: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Where does software come from?

Page 4: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

$> _

Page 5: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

$>curl | sudo bash

Page 6: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

$>apt-get install

Page 7: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

• authenticity

Page 8: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

$>apt-get install

Page 9: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration
Page 10: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

• authenticity• integrity

Page 11: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

$>apt-get install really-old-foo

Page 12: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

$>#not after 2007 $>apt-get install really-old-foo

Page 13: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

• authenticity• integrity• freshness

Page 14: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

$> $pkg-manager install foo

Page 15: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

• authenticity (TLS)• integrity (TLS)• freshness

Page 16: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

• authenticity (TLS - transport only)• integrity (TLS - transport only)• freshness

Page 17: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration
Page 18: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration
Page 19: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

foo

Page 20: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

-----BEGIN PGP SIGNATURE----- Version: GnuPG v1

iQIcBAABCAAGBQJXUtcbAAoJEItIrWJGklVTp6oP/ROIMdfBerB+sKswke8mau1w aalsr6MmQgARItPhsQvFUaRXEXDJvefRdPJl+xDl1zUkJJhLJIsW9VmpBk19l2pU oWuiy6Ou9BWWA2qmS/3BKdmriuXp8LtjpQ2prj3jefOfIcUUlWtusATp0qM3JvGr UWFDkxzQAqZycwuY7n1e4YNyE30iAbPtWB3cKs6Bi7nNWREeQ9cAsJJPnVIl/e6t H3KI8F2QkQ/HwfN9KYfZKyChMubBKsl1txOlgHs1QLrrhft6kP3RDoKRhJTuPvnr 3QWH3Hlo6B/nqpX7hOcAkw6gfnpVe+SHBKOE8b93nTR4Gh7l1R1hjdUdO46rQLVy iz1WcWgJkMj13kePrDC3gM+CaT7O0ug4dQ1b1brPzuJwz7j7mHIIOUdwOZ+7OWf5 ppdxXB5E6/XJN2X26V3KdHTgfsFmu2eX9PaDIjA26XP8DtPOSaz6sYrPxQtRPS2w oSp8Kkgh4kVTftymKvDcbFp7OF1qhCxWkwvCB+StTI5s+aRfkIUqQkYS12EYI6b7 uQq0r5QjM6DzsnCRKrRh2EUzgHdfax1iIEY+kC2BvG+Xw6wHro47iR4gaRzR1c7x LRm5uxrGCq5zV9Lp+LBNGkAQJzivkm8ka7yYss5DIk6gVeTsHbcSLnmt4rUViZOp BsAoXDQUdfv80oIg39BMiQIcBAABCAAGBQJXUtcbAAoJEHY40EQrkNAQp6oQAIsl 7tPJpwTzKrv6r8gEQggyRvFEp8Ubi+/8wPf+AawutClXNONB5lLvceA0SEgwPH0L js+kDrmNZRQ65PAEUf0mWwq8kdNWTcVDfKvI/Te2tr65/yaVFTLDDoAsC9M5Q9QX i3h0xCZAT6hQSl7oSzWQIJkAqAer/9ctvYE6S9hAyiUIj9MQUA/PPBmEUcxKlADd Rjg2JHJJFODkciHWyQboU7UAOwpGIW/LFgFlr+nMomP/wQoZdOKyKS0QG8I0dxbh o19tvoxBN32KS6yQM1oQDhvXIlvZiirohBCXSVXiLYIzEzZfcLqP9cRGOUlzMtKw P9m1tM0Lx+yY8OZTshedR+u+6lW+vdPQ0Ar3MzE+98DE3zT+NDgGUJQNAtfkFesW az6bMS07c947zbBZIAg0iO0ys2PCI7bwNdJAJ9VjujAKZ5R5c9IZOltF3RRiQcn9 QODaFM4cGrndS53tmtjR2vPNoEk8jVR0mbp6Nyr7t4sgCGkiDyqO1xZOIOX1pCMQ seD6XOq2cWTSSisIRo8Cccdo3ciE4yfYZQ/3+gLaqDOrtBIGxj9iumS1ELI6XHb7 7LjYz72Z5gjzK2X+jQCJFD/QNZv4n8dkoYgRVk4ZgEg+BuctUA85RggaLR2R9JCV NRcXJtGybbGDQ85vFuzLYyUrSnfc5Vcm31tcy94h =nSRR -----END PGP SIGNATURE-----

Page 21: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

-----BEGIN PGP SIGNATURE----- Version: GnuPG v1

iQIcBAABCAAGBQJXUtcbAAoJEItIrWJGklVTp6oP/ROIMdfBerB+sKswke8mau1w aalsr6MmQgARItPhsQvFUaRXEXDJvefRdPJl+xDl1zUkJJhLJIsW9VmpBk19l2pU oWuiy6Ou9BWWA2qmS/3BKdmriuXp8LtjpQ2prj3jefOfIcUUlWtusATp0qM3JvGr UWFDkxzQAqZycwuY7n1e4YNyE30iAbPtWB3cKs6Bi7nNWREeQ9cAsJJPnVIl/e6t H3KI8F2QkQ/HwfN9KYfZKyChMubBKsl1txOlgHs1QLrrhft6kP3RDoKRhJTuPvnr 3QWH3Hlo6B/nqpX7hOcAkw6gfnpVe+SHBKOE8b93nTR4Gh7l1R1hjdUdO46rQLVy iz1WcWgJkMj13kePrDC3gM+CaT7O0ug4dQ1b1brPzuJwz7j7mHIIOUdwOZ+7OWf5 ppdxXB5E6/XJN2X26V3KdHTgfsFmu2eX9PaDIjA26XP8DtPOSaz6sYrPxQtRPS2w oSp8Kkgh4kVTftymKvDcbFp7OF1qhCxWkwvCB+StTI5s+aRfkIUqQkYS12EYI6b7 uQq0r5QjM6DzsnCRKrRh2EUzgHdfax1iIEY+kC2BvG+Xw6wHro47iR4gaRzR1c7x LRm5uxrGCq5zV9Lp+LBNGkAQJzivkm8ka7yYss5DIk6gVeTsHbcSLnmt4rUViZOp BsAoXDQUdfv80oIg39BMiQIcBAABCAAGBQJXUtcbAAoJEHY40EQrkNAQp6oQAIsl 7tPJpwTzKrv6r8gEQggyRvFEp8Ubi+/8wPf+AawutClXNONB5lLvceA0SEgwPH0L js+kDrmNZRQ65PAEUf0mWwq8kdNWTcVDfKvI/Te2tr65/yaVFTLDDoAsC9M5Q9QX i3h0xCZAT6hQSl7oSzWQIJkAqAer/9ctvYE6S9hAyiUIj9MQUA/PPBmEUcxKlADd Rjg2JHJJFODkciHWyQboU7UAOwpGIW/LFgFlr+nMomP/wQoZdOKyKS0QG8I0dxbh o19tvoxBN32KS6yQM1oQDhvXIlvZiirohBCXSVXiLYIzEzZfcLqP9cRGOUlzMtKw P9m1tM0Lx+yY8OZTshedR+u+6lW+vdPQ0Ar3MzE+98DE3zT+NDgGUJQNAtfkFesW az6bMS07c947zbBZIAg0iO0ys2PCI7bwNdJAJ9VjujAKZ5R5c9IZOltF3RRiQcn9 QODaFM4cGrndS53tmtjR2vPNoEk8jVR0mbp6Nyr7t4sgCGkiDyqO1xZOIOX1pCMQ seD6XOq2cWTSSisIRo8Cccdo3ciE4yfYZQ/3+gLaqDOrtBIGxj9iumS1ELI6XHb7 7LjYz72Z5gjzK2X+jQCJFD/QNZv4n8dkoYgRVk4ZgEg+BuctUA85RggaLR2R9JCV NRcXJtGybbGDQ85vFuzLYyUrSnfc5Vcm31tcy94h =nSRR -----END PGP SIGNATURE-----

Page 22: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

-----BEGIN PGP SIGNATURE----- Version: GnuPG v1

iQIcBAABCAAGBQJXUtcbAAoJEItIrWJGklVTp6oP/ROIMdfBerB+sKswke8mau1w aalsr6MmQgARItPhsQvFUaRXEXDJvefRdPJl+xDl1zUkJJhLJIsW9VmpBk19l2pU oWuiy6Ou9BWWA2qmS/3BKdmriuXp8LtjpQ2prj3jefOfIcUUlWtusATp0qM3JvGr UWFDkxzQAqZycwuY7n1e4YNyE30iAbPtWB3cKs6Bi7nNWREeQ9cAsJJPnVIl/e6t H3KI8F2QkQ/HwfN9KYfZKyChMubBKsl1txOlgHs1QLrrhft6kP3RDoKRhJTuPvnr 3QWH3Hlo6B/nqpX7hOcAkw6gfnpVe+SHBKOE8b93nTR4Gh7l1R1hjdUdO46rQLVy iz1WcWgJkMj13kePrDC3gM+CaT7O0ug4dQ1b1brPzuJwz7j7mHIIOUdwOZ+7OWf5 ppdxXB5E6/XJN2X26V3KdHTgfsFmu2eX9PaDIjA26XP8DtPOSaz6sYrPxQtRPS2w oSp8Kkgh4kVTftymKvDcbFp7OF1qhCxWkwvCB+StTI5s+aRfkIUqQkYS12EYI6b7 uQq0r5QjM6DzsnCRKrRh2EUzgHdfax1iIEY+kC2BvG+Xw6wHro47iR4gaRzR1c7x LRm5uxrGCq5zV9Lp+LBNGkAQJzivkm8ka7yYss5DIk6gVeTsHbcSLnmt4rUViZOp BsAoXDQUdfv80oIg39BMiQIcBAABCAAGBQJXUtcbAAoJEHY40EQrkNAQp6oQAIsl 7tPJpwTzKrv6r8gEQggyRvFEp8Ubi+/8wPf+AawutClXNONB5lLvceA0SEgwPH0L js+kDrmNZRQ65PAEUf0mWwq8kdNWTcVDfKvI/Te2tr65/yaVFTLDDoAsC9M5Q9QX i3h0xCZAT6hQSl7oSzWQIJkAqAer/9ctvYE6S9hAyiUIj9MQUA/PPBmEUcxKlADd Rjg2JHJJFODkciHWyQboU7UAOwpGIW/LFgFlr+nMomP/wQoZdOKyKS0QG8I0dxbh o19tvoxBN32KS6yQM1oQDhvXIlvZiirohBCXSVXiLYIzEzZfcLqP9cRGOUlzMtKw P9m1tM0Lx+yY8OZTshedR+u+6lW+vdPQ0Ar3MzE+98DE3zT+NDgGUJQNAtfkFesW az6bMS07c947zbBZIAg0iO0ys2PCI7bwNdJAJ9VjujAKZ5R5c9IZOltF3RRiQcn9 QODaFM4cGrndS53tmtjR2vPNoEk8jVR0mbp6Nyr7t4sgCGkiDyqO1xZOIOX1pCMQ seD6XOq2cWTSSisIRo8Cccdo3ciE4yfYZQ/3+gLaqDOrtBIGxj9iumS1ELI6XHb7 7LjYz72Z5gjzK2X+jQCJFD/QNZv4n8dkoYgRVk4ZgEg+BuctUA85RggaLR2R9JCV NRcXJtGybbGDQ85vFuzLYyUrSnfc5Vcm31tcy94h =nSRR -----END PGP SIGNATURE-----

$>apt-get install old-insecure-foo

Replay Attacks?

Page 23: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

-----BEGIN PGP SIGNATURE----- Version: GnuPG v1

iQIcBAABCAAGBQJXUtcbAAoJEItIrWJGklVTp6oP/ROIMdfBerB+sKswke8mau1w aalsr6MmQgARItPhsQvFUaRXEXDJvefRdPJl+xDl1zUkJJhLJIsW9VmpBk19l2pU oWuiy6Ou9BWWA2qmS/3BKdmriuXp8LtjpQ2prj3jefOfIcUUlWtusATp0qM3JvGr UWFDkxzQAqZycwuY7n1e4YNyE30iAbPtWB3cKs6Bi7nNWREeQ9cAsJJPnVIl/e6t H3KI8F2QkQ/HwfN9KYfZKyChMubBKsl1txOlgHs1QLrrhft6kP3RDoKRhJTuPvnr 3QWH3Hlo6B/nqpX7hOcAkw6gfnpVe+SHBKOE8b93nTR4Gh7l1R1hjdUdO46rQLVy iz1WcWgJkMj13kePrDC3gM+CaT7O0ug4dQ1b1brPzuJwz7j7mHIIOUdwOZ+7OWf5 ppdxXB5E6/XJN2X26V3KdHTgfsFmu2eX9PaDIjA26XP8DtPOSaz6sYrPxQtRPS2w oSp8Kkgh4kVTftymKvDcbFp7OF1qhCxWkwvCB+StTI5s+aRfkIUqQkYS12EYI6b7 uQq0r5QjM6DzsnCRKrRh2EUzgHdfax1iIEY+kC2BvG+Xw6wHro47iR4gaRzR1c7x LRm5uxrGCq5zV9Lp+LBNGkAQJzivkm8ka7yYss5DIk6gVeTsHbcSLnmt4rUViZOp BsAoXDQUdfv80oIg39BMiQIcBAABCAAGBQJXUtcbAAoJEHY40EQrkNAQp6oQAIsl 7tPJpwTzKrv6r8gEQggyRvFEp8Ubi+/8wPf+AawutClXNONB5lLvceA0SEgwPH0L js+kDrmNZRQ65PAEUf0mWwq8kdNWTcVDfKvI/Te2tr65/yaVFTLDDoAsC9M5Q9QX i3h0xCZAT6hQSl7oSzWQIJkAqAer/9ctvYE6S9hAyiUIj9MQUA/PPBmEUcxKlADd Rjg2JHJJFODkciHWyQboU7UAOwpGIW/LFgFlr+nMomP/wQoZdOKyKS0QG8I0dxbh o19tvoxBN32KS6yQM1oQDhvXIlvZiirohBCXSVXiLYIzEzZfcLqP9cRGOUlzMtKw P9m1tM0Lx+yY8OZTshedR+u+6lW+vdPQ0Ar3MzE+98DE3zT+NDgGUJQNAtfkFesW az6bMS07c947zbBZIAg0iO0ys2PCI7bwNdJAJ9VjujAKZ5R5c9IZOltF3RRiQcn9 QODaFM4cGrndS53tmtjR2vPNoEk8jVR0mbp6Nyr7t4sgCGkiDyqO1xZOIOX1pCMQ seD6XOq2cWTSSisIRo8Cccdo3ciE4yfYZQ/3+gLaqDOrtBIGxj9iumS1ELI6XHb7 7LjYz72Z5gjzK2X+jQCJFD/QNZv4n8dkoYgRVk4ZgEg+BuctUA85RggaLR2R9JCV NRcXJtGybbGDQ85vFuzLYyUrSnfc5Vcm31tcy94h =nSRR -----END PGP SIGNATURE-----

Survivable Key Compromise?

Page 24: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

-----BEGIN PGP SIGNATURE----- Version: GnuPG v1

iQIcBAABCAAGBQJXUtcbAAoJEItIrWJGklVTp6oP/ROIMdfBerB+sKswke8mau1w aalsr6MmQgARItPhsQvFUaRXEXDJvefRdPJl+xDl1zUkJJhLJIsW9VmpBk19l2pU oWuiy6Ou9BWWA2qmS/3BKdmriuXp8LtjpQ2prj3jefOfIcUUlWtusATp0qM3JvGr UWFDkxzQAqZycwuY7n1e4YNyE30iAbPtWB3cKs6Bi7nNWREeQ9cAsJJPnVIl/e6t H3KI8F2QkQ/HwfN9KYfZKyChMubBKsl1txOlgHs1QLrrhft6kP3RDoKRhJTuPvnr 3QWH3Hlo6B/nqpX7hOcAkw6gfnpVe+SHBKOE8b93nTR4Gh7l1R1hjdUdO46rQLVy iz1WcWgJkMj13kePrDC3gM+CaT7O0ug4dQ1b1brPzuJwz7j7mHIIOUdwOZ+7OWf5 ppdxXB5E6/XJN2X26V3KdHTgfsFmu2eX9PaDIjA26XP8DtPOSaz6sYrPxQtRPS2w oSp8Kkgh4kVTftymKvDcbFp7OF1qhCxWkwvCB+StTI5s+aRfkIUqQkYS12EYI6b7 uQq0r5QjM6DzsnCRKrRh2EUzgHdfax1iIEY+kC2BvG+Xw6wHro47iR4gaRzR1c7x LRm5uxrGCq5zV9Lp+LBNGkAQJzivkm8ka7yYss5DIk6gVeTsHbcSLnmt4rUViZOp BsAoXDQUdfv80oIg39BMiQIcBAABCAAGBQJXUtcbAAoJEHY40EQrkNAQp6oQAIsl 7tPJpwTzKrv6r8gEQggyRvFEp8Ubi+/8wPf+AawutClXNONB5lLvceA0SEgwPH0L js+kDrmNZRQ65PAEUf0mWwq8kdNWTcVDfKvI/Te2tr65/yaVFTLDDoAsC9M5Q9QX i3h0xCZAT6hQSl7oSzWQIJkAqAer/9ctvYE6S9hAyiUIj9MQUA/PPBmEUcxKlADd Rjg2JHJJFODkciHWyQboU7UAOwpGIW/LFgFlr+nMomP/wQoZdOKyKS0QG8I0dxbh o19tvoxBN32KS6yQM1oQDhvXIlvZiirohBCXSVXiLYIzEzZfcLqP9cRGOUlzMtKw P9m1tM0Lx+yY8OZTshedR+u+6lW+vdPQ0Ar3MzE+98DE3zT+NDgGUJQNAtfkFesW az6bMS07c947zbBZIAg0iO0ys2PCI7bwNdJAJ9VjujAKZ5R5c9IZOltF3RRiQcn9 QODaFM4cGrndS53tmtjR2vPNoEk8jVR0mbp6Nyr7t4sgCGkiDyqO1xZOIOX1pCMQ seD6XOq2cWTSSisIRo8Cccdo3ciE4yfYZQ/3+gLaqDOrtBIGxj9iumS1ELI6XHb7 7LjYz72Z5gjzK2X+jQCJFD/QNZv4n8dkoYgRVk4ZgEg+BuctUA85RggaLR2R9JCV NRcXJtGybbGDQ85vFuzLYyUrSnfc5Vcm31tcy94h =nSRR -----END PGP SIGNATURE-----

Trust Thresholding?

Page 25: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

• authenticity • integrity• freshness• thresholding• survivable key compromise

Page 26: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

• authenticity • integrity• freshness• thresholding• survivable key compromise

Page 27: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

• authenticity • integrity• freshness• thresholding• survivable key compromise• ease of use

Page 28: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration
Page 29: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Get TUF(The Update Framework)

Page 30: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration
Page 31: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

•Diplomat: Using Delegations to Protect Community Repositories •Survivable Key Compromise in Software Update Systems •A Look in the Mirror: Attacks on Package Managers •Package Management Security

Page 32: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

TUF repository

Page 33: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

TUF repository packages

Page 34: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

root timestamp snapshot targets delegation

Page 35: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Root:

Timestamp:

Snapshot:

Targets:

Expiry: ...

Root Metadata

Page 36: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Root:

Timestamp:

Snapshot:

Targets:

Expiry: ...

Root Metadata

USA

Switzerland

China

Page 37: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Offline for security

• Backup in bank vault

• Use signing hardware

Page 38: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

TUF repository packages

?

Page 39: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

java : { hashes }openssl : { hashes }…

Expiry: ...

Targets Metadata

Page 40: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Keys: { Alice: Bob:}

Expiry: ...

Targets Metadata

A

B

java:openssl:

[Alice][Bob]

Page 41: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Delegation Metadata

Ajava-8-jre : { hashes }java-7-jre : { hashes }...Expiry: ...

Bopenssl-1.0.1t : { hashes }openssl-1.0.2h : { hashes }...Expiry: ...

Page 42: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

java-8-jre java-7-jre

openssl-1.0.1t openssl-1.0.2h

A

B

Page 43: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

openssl-1.0.1t openssl-1.0.2h

java java-8-jdkjava-7-jdk

java-8-jrejava-7-jre

apt

openssl

A

B

C

A

jdk

jre

Page 44: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

openssl-1.0.1t openssl-1.0.2h

java java-8-jdkjava-7-jdk

java-8-jrejava-7-jre

apt

openssl

A

B

C

A

jdk

jre

E

D

Page 45: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

• authenticity • integrity• freshness• thresholding• survivable key compromise

Page 46: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

• authenticity • integrity• freshness• thresholding• survivable key compromise

Page 47: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

• authenticity • integrity• freshness• thresholding• survivable key compromise

Page 48: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration
Page 49: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Root : { hashes }Targets : { hashes }

Alice : { hashes }Bob : { hashes }…

Expiry: ...

Snapshot Metadata

Page 50: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

• authenticity • integrity• freshness• thresholding• survivable key compromise

Page 51: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Snapshot : { hashes }

Expiry: 24 hours from now

Timestamp Metadata

Page 52: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Snapshot : { hashes }

Expiry: 24 hours from now

Timestamp Metadata

XX

Page 53: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

openssl-1.0.1t openssl-1.0.2h

java java-8-jdkjava-7-jdk

java-8-jrejava-7-jre

apt

openssl

A

B

C

A

jdk

jre

E

D X

Page 54: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

• authenticity • integrity• freshness• thresholding• survivable key compromise

Page 55: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration
Page 56: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration
Page 57: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration
Page 58: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

#

Page 59: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

# #

#

Page 60: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration
Page 61: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

#

Page 62: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration
Page 63: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

#

Page 64: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Timestamp

Lifetime

Snapshot

Targets/ Delegations

Root

Metadata Lifetime

t

Page 65: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Timestamp

Lifetime

Snapshot

Targets/ Delegations

Root

Keeping Freshness

t

Page 66: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Timestamp

Lifetime

Snapshot

Targets/ Delegations

Root

Snapshot Expired!

t

Page 67: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Timestamp

Lifetime

Snapshot

Targets/ Delegations

Root

Sign a new Snapshot

t

Page 68: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Timestamp

Lifetime

Snapshot

Targets/ Delegations

Root

Sign a new Timestamp to point the Snapshot

t

Page 69: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Timestamp

Lifetime

Snapshot

Targets/ Delegations

Root

Want to publish something?

t

Page 70: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Timestamp

Lifetime

Snapshot

Targets/ Delegations

Root

Sign the hash into a new Targets or Delegation file

t

Page 71: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Timestamp

Lifetime

Snapshot

Targets/ Delegations

Root

Sign a new Snapshot that references this Targets file

t

Page 72: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Timestamp

Lifetime

Snapshot

Targets/ Delegations

Root

Sign a new Timestamp that references the new Snapshot

t

Page 73: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Timestamp

Lifetime

Snapshot

Targets/ Delegations

Root

Situation normal

t

Page 74: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Timestamp

Lifetime

Snapshot

Targets/ Delegations

Root

Oh no, I think my Snapshot key was compromised!

t

Page 75: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Compromise is “when” not “if”

Page 76: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration
Page 77: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Root: Timestamp: Snapshot: Targets:

Root Metadata

Page 78: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Root: Timestamp: Snapshot: Targets:

Root Metadata

Snapshot Metadata

Page 79: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Timestamp

Lifetime

Snapshot

Targets/ Delegations

Root

Before recovery

t

Page 80: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Timestamp

Lifetime

Snapshot

Targets/ Delegations

Root

Create and sign the new Snapshot key into Root

t

Page 81: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Timestamp

Lifetime

Snapshot

Targets/ Delegations

Root

Sign a new Snapshot with the new key

t

Page 82: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Timestamp

Lifetime

Snapshot

Targets/ Delegations

Root

Sign new Timestamp to reference new Snapshot

t

Page 83: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

• authenticity • integrity• freshness• thresholding• survivable key compromise• ease of use

coming soon!

GPG TUF

Page 84: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

How can we start using TUF?

Page 85: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration
Page 86: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Demo

• ease of use?

Page 87: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Demo

Page 88: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

• authenticity • integrity• freshness• thresholding• survivable key compromise• ease of use

Page 89: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

github.com/docker/notary

Page 90: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration
Page 91: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration
Page 92: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

?

Page 93: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration
Page 94: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

alpine

Page 95: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

alpine

Page 96: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

latest: {hash} edge: {hash} 2.6: {hash} 3.3: {hash} 3.4: {hash}

alpine

Page 97: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

$> export DOCKER_CONTENT_TRUST=1

Page 98: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration
Page 99: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

$> $pkg-manager install openssl

Page 100: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Design Goals: - root of trust in package manager maintainers - with thresholding

- freshness guarantees

- signed index of all packages

- package targets signed by package maintainers - with thresholding

Page 101: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

package-manager maintainer(s)

Page 102: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

freshness

package-manager maintainer(s)

Page 103: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

signs indexfreshness

package-manager maintainer(s)

Page 104: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

signs indexfreshness

maintainer keys

package-manager maintainer(s)

Page 105: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

signs indexfreshness

maintainer keys

openssl: {hash}

package-manager maintainer(s)

Page 106: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Future work: hermetic builds

Page 107: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration
Page 108: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Learn More• Read the spec:

• github.com/theupdateframework/tuf/ (docs/tuf-spec.txt)

• Look at Notary: • github.com/docker/notary

• Read the Docker Content Trust docs:• docs.docker.com/engine/security/trust/content_trust/

Page 109: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Booth D38 @ LinuxCon + ContainerCon

Thurs Oct 6th Orchestrating Linux Containers while Tolerating Failures - Drew ErnyUnikernels: When you Should and When you Shouldn’t - Amir ChaudhryBerlin Docker Meetup

Friday Oct 7th Tutorial: Comparing Container Orchestration Tools - Neependra KhareTutorial: Orchestrate Containers in Production at Scale with Docker Swarm - Jerome Petazzoni

Page 110: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

THANK YOU

Page 111: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Root:

Timestamp:

Snapshot:

Targets:

Expiry: ...

Root Metadata

Appendix: root key rotations

Page 112: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Root:

Timestamp:

Snapshot:

Targets:

Expiry: ...

Root Metadata

Appendix: root key rotations

Page 113: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Root:

Timestamp:

Snapshot:

Targets:

newRoot:

Timestamp:

Snapshot:

Targets:

old

Appendix: root key rotations

Page 114: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Root:

Timestamp:

Snapshot:

Targets:

newRoot:

Timestamp:

Snapshot:

Targets:

oldXAppendix: root key rotations

Page 115: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Appendix: DCT pull flow

Page 116: LINUXCON EU v8 When the going gets tough, get …schd.ws/hosted_files/linuxconcontainerconeurope2016/50...Berlin Docker Meetup Friday Oct 7th Tutorial: Comparing Container Orchestration

Appendix: DCT pull flow

uses manifest/layer merkle tree