Updater

The purpose of the updater is to securely pull the authentication repository and the specified target repositories. This means that we want to validate all of the repositories before pulling the changes. The main idea is to rely on TUF's updater as much as possible, redefining only parts of the code which download files and check expiration time of metadata. This means that all security checks provided by the TUF updater will be executed. This document is meant to go into some technical details, see TUF specification for an overview of the update process.

There are a few differences between what TAF's updater needs achieve and what the TUF's updater was designed to do:

For the above listed reasons, we cannot simply use TUF's updater like described in its tutorial. Some of the differences can be overcome by performing the update multiple times (once per commit). However, not all can be accomplished without slightly modifying the TUF's updater, at least for now, which is why TAF requires our fork of the TUF project. The following represents the main ideas of the TAF updater: