Abstract
Computer systems rely on centralized governance and trustworthy actors to function. However, history shows they are often compromised or malfunction. Lack of transparency and public accountability is one reason. Corruption, misbehavior, and equivocation allow failures and ambiguity to occur as a result of these factors. It is natural to respond to these issues by trusting a reputable third-party to ensure that systems are operating properly and data is not corrupted. However, this approach does not provide a conclusive solution because third parties are also susceptible to corruption and misbehavior. As a result, we see a need for the development of trustless and decentralized systems that do not rely on central entities for proper functionality. When blockchain technologies first appeared in 2018, they popularized the concept of decentralized systems with data integrity, transparency, and no central authority responsible or authoritative for functionality in blockchain systems. They are also supported by a global network of distributed nodes, each with equal levels of authority to ensure the system’s interoperability and data integrity. Furthermore, data is stored in full in each node, making it accessible to the public. It allows no single node to control the system status and promotes transparency and accountability. Industry and academia are increasingly interested in incorporating blockchain technology into existing systems and infrastructures to take advantage of its cybersecurity features. The goal of this work is to improve the cybersecurity properties of widely used existing computer systems and frameworks. We select relevant scenarios that have obvious problems with transparency and accountability, and we improve their standard interoperability by incorporating blockchain and cryptographic primitives into their design and implementation. First, we introduce a novel architecture for data feed services for smart contracts. It effectively overcomes the limitation of smart contracts in obtaining data from external providers, and it provides a viable alternative to existing solutions while holding data providers accountable. Then, we propose a proactive software supply chain based on smart contract technology. Smart contracts are used as a key component for efficient and reliable software authentication, and the transitional security strategy based on code signing certificates and digital signatures is completely eliminated. Finally, we extend our software supply framework and investigate its compatibility with compiler-based approaches to software diversity. Therefore, we extend our framework by incorporating cryptographic accumulators to make it more suitable for the distribution and authentication of a large number of randomized software binaries. We conducted experiments to show that our proposals are appropriate, efficient, and deployable. We present archived results and discuss future projects.