论文部分内容阅读
随着互联网的普及,安全套接层协议(Secure Sockets Layer,SSL)和传输层安全协议(Transport Layer Security,TLS)被越来越广泛应用于各种互联网的安全场景中。对于SSL/TLS服务,一个重大的安全隐患是证书认证机构(Certification Authority,CA)可能被攻击或者进行恶意的操作。如果依赖证书的客户端所信任的CA签发了含虚假信息、并可被成功验证的数字证书,那么攻击者很容易进行一次中间人攻击,目前也发生了一些由于CA被攻击所造成的安全事件,所以对CA的数字证书操作行为进行审计是非常必要的。现有的方案如Certificate Transparency(CT)使用中心化的服务器完成审计,依然存在某单点服务器被攻击或者作恶的风险。一些去中心化的解决方案仍然未能较好地解决恶意节点造成的拜占庭错误而导致审计过程被攻击的问题。区块链是一种可以在去中心化网络环境中构建一条永远增加的记录的分布式数据库,具有去中心化、公开透明、不可篡改等特点。本文基于区块链技术构建了一种去中心化安全认证的解决方案,解决中心化服务的数字证书分发方案存在的安全隐患。开展的工作主要有:1.为解决数字证书分发过程中由于过度依赖中心化服务器而带来的安全风险,本文设计了一种基于区块链的数字证书审计系统架构。架构中区块链用于存储CA操作数字证书的记录,并由CA通过共识机制进行维护,PKI体系中各个节点均可对记录进行安全审计,可解决CA证书分发过于中心化的问题,有效防御恶意攻击。2.为了保证数字证书审计数据的不可篡改性、可追溯性和查询效率,本文提出了基于默克尔树的双链存储结构。CA操作数字证书的记录通过默克尔树进行验证,通过区块链的链式结构保证其可追溯性;采用了证书分发链和证书撤销链双链分离的结构设计,并基于压缩前缀树对默克尔树结构进行了优化,提高了数字证书审计数据的查询效率。3.为了保证CA网络中存在一定恶意节点的情况下数字证书审计的安全性,本文提出了基于节点贡献度的拜占庭容错共识机制。针对比特币等数字货币采用的共识机制消耗能源且时间效率较低并不适合数字证书审计场景的问题,本文采用了基于实用拜占庭容错算法(PBFT)的共识机制,并对其一致性算法和视图切换协议进行优化,降低了通信时间复杂度。同时提出基于节点贡献度的PBFT主节点选举机制和消息认证机制优化算法,提高对拜占庭错误节点的容忍度。4.基于设计方案实现了一个原型系统。实验结果表明系统耗时可以达到现实场景中可用的标准;存储空间的增加在可接受的范围内,同时相比已有方案,区块链查询效率有一定的提升;共识机制相比PBFT算法,可以支持更多非正常节点的拜占庭容错,并在相同非正常节点时有更高的系统吞吐量。