{CHAINIAC}: Proactive {Software-Update} transparency via collectively signed skipchains and verified builds

K Nikitin, E Kokoris-Kogias, P Jovanovic… - 26th USENIX Security …, 2017 - usenix.org
26th USENIX Security Symposium (USENIX Security 17), 2017usenix.org
Software-update mechanisms are critical to the security of modern systems, but their
typically centralized design presents a lucrative and frequently attacked target. In this work,
we propose CHAINIAC, a decentralized software-update framework that eliminates single
points of failure, enforces transparency, and provides efficient verifiability of integrity and
authenticity for software-release processes. Independent witness servers collectively verify
conformance of software updates to release policies, build verifiers validate the source-to …
Abstract
Software-update mechanisms are critical to the security of modern systems, but their typically centralized design presents a lucrative and frequently attacked target. In this work, we propose CHAINIAC, a decentralized software-update framework that eliminates single points of failure, enforces transparency, and provides efficient verifiability of integrity and authenticity for software-release processes. Independent witness servers collectively verify conformance of software updates to release policies, build verifiers validate the source-to-binary correspondence, and a tamper-proof release log stores collectively signed updates, thus ensuring that no release is accepted by clients before being widely disclosed and validated. The release log embodies a skipchain, a novel data structure, enabling arbitrarily out-of-date clients to efficiently validate updates and signing keys. Evaluation of our CHAINIAC prototype on reproducible Debian packages shows that the automated update process takes the average of 5 minutes per release for individual packages, and only 20 seconds for the aggregate timeline. We further evaluate the framework using real-world data from the PyPI package repository and show that it offers clients security comparable to verifying every single update themselves while consuming only one-fifth of the bandwidth and having a minimal computational overhead.
usenix.org