理解基于区块链的系统中安全技术债务的分类法
A Taxonomy for Understanding the Security Technical Debts in Blockchain Based Systems
摘要:
区块链是一种颠覆性技术,旨在实现安全的分散式分布式系统,其中交易数据可以由系统的参与者使用加密和共识机制共享,存储和验证,从而提高了对中央认证/验证机构的需求。与人们的看法相反,基于区块链的系统在设计上并不是天生安全的;安全软件工程师必须了解各种区块链特定的架构设计决策和选择及其对软件系统可靠性的影响。我们认为,区块链组件及其配置的次优和不明智的设计决策和选择,包括智能合约,密钥管理,加密和共识机制,链上与链下存储选择,可能会将安全技术债务引入系统。技术债务隐喻可以作为一个强大的工具,通过使安全软件工程师看到潜在的安全技术债务,对基于区块链的系统的安全设计进行早期、预防性和透明的评估。我们回顾了基于区块链的系统的核心架构组件,并展示了这些组件的错误选择或次优设计决策和配置如何表现为安全技术债务。我们贡献了一个分类法,对区块链特定的设计决策和选择进行分类,并描述了它们与潜在债务的联系。该分类法可以帮助这类系统的架构师通过可视化安全技术债务并提高其可见性来避免潜在的安全风险。我们使用两个案例研究的例子来讨论分类法及其应用。
英文摘要:
Blockchain is a disruptive technology intended at implementing secure decentralized distributed systems, in which transactional data can be shared, stored and verified by participants of a system using cryptographic and consensus mechanisms, elevating the need for a central authentication/verification authority. Contrary to the belief, blockchain-based systems are not inherently secure by design; it is crucial for security software engineers to be aware of the various blockchain specific architectural design decisions and choices and their consequences on the dependability of the software system. We argue that sub-optimal and ill-informed design decisions and choices of blockchain components and their configurations including smart contracts, key management, cryptographic and consensus mechanisms, on-chain vs. off chain storage choices can introduce security technical debt into the system. The technical debt metaphor can serve as a powerful tool for early, preventive and transparent evaluation of the security design of blockchain-based systems by making the potential security technical debt visible to security software engineers. We review the core architectural components of blockchain-based systems and we show how the ill-choice or sub-optimal design decisions and configuration of these components can manifest into security technical debt. We contribute to a taxonomy that classifies the blockchain specific design decisions and choices and we describe their connection to potential debts. The taxonomy can help architects of this category of systems avoid potential security risks by visualising the security technical debts and raising its visibility. We use examples from two case studies to discuss the taxonomy and its application.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。