微软|区块链在网络信任体系中的应用研究( 二 )


网络信任体系作为实现网络安全的重要因素 , 是保障网络空间实体活动的核心基石 。 网络信任体系的使命是在网络空间的不同实体之间建立信任关系 , 不仅要确保网络中各实体身份的有效分配 , 还需要保证身份的可信、可用 , 确保将人员、设备、应用等所有网络实体通过信任关系进行连接 , 最终形成面向不同应用场景的网络实体信任联盟域和可信链 。
基于公钥密码体制的认证技术是信任关系建立的重要手段之一 。 在1976年公钥密码体系问世前 , 消息传输依赖对称密码 , 需要通信双方共享密钥 。 此时 , 对于通信双方身份的认证仅需要判断其是否拥有共享密钥 。 随着网络实体数量的增多 , 大规模网络实体之间的两两通信给密钥管理带来较高的复杂性 。 公钥密码的诞生解决了这一问题 , 经过多年发展 , 公钥密码已经成为构建网络信任体系的重要技术 。
目前 , 基于公钥密码的网络信任框架主要包括两种:一种是基于PKI的数字证书身份认证体系 , 已经被广泛应用于各类网络系统中 , 发展较为成熟;另一种是基于标识密码(IdentityBased Cryptography , IBC)的身份认证体系 , 通过将网络实体的身份标识信息与公钥进行绑定 , 为网络身份管理提供良好的基础 。
除基于公钥密码方案外 , 常见的身份认证方法还包括基于口令、智能卡、令牌、生物特征和多因素组合等多种方法 。
1.2 基于公钥密码的网络信任框架面临的安全问题
尽管 PKI 体系已经被成熟地应用于网络信任体系中 , 但并不是固若金汤 。 随着网络安全问题的升级 , 基于公钥密码的网络信任框架仍然面临诸多安全挑战 。
(1)C的单点故障问题:PKI证书的安全性依赖于根CA以及各级CA机构的安全性 。 近10年来的安全事件表明 , CA本身可能是不诚实的 , 可能会遭受攻击、签署欺诈性证书、误操作、使用过期或有缺陷的密码算法等 。 2011年7月 , 荷兰DigiNotar公司的CA遭受黑客攻击 , 至少颁发了531张欺诈性证书 , 其中涉及谷歌、微软、雅虎等网站 , 此次事故直接DigiNotar公司于2011年9月宣告破产 。
在当前的Web模型下 , TLS PKI也是十分脆弱的 。 由于误操作或者被攻陷 , CA可能会颁发欺诈证书 , 不仅不易被发觉 , 还可能被用于实施窃取用户敏感数据等恶意行为 。 典型的欺诈性证书将DNS域名与假冒的Web服务器密钥对进行绑定 。 即使浏览器严格遵循证书验证步骤 , 假冒的服务器也会发起中间人攻击 。
为了降低对CA的可信依赖程度 , 谷歌于2013年提出证书透明度的概念 。 实现对证书日志的管理 。 随后 , 一些新的基于日志的PKI模型被提出 , 用于降低对于CA的信任程度 。 但是 , 如果攻击者拥有可以向目标展示不同日志的能力 , 那么攻击者就可以实施网络分裂攻击 。
(2)证书验证和吊销问题:证书依赖方不仅需要识别网络实体的公钥与证书之间的绑定关系 , 还要确认证书是否在有效期内 , 即证书是否已经被吊销 。 证书依赖方往往需要定期维护一个证书注销列表(Certificate Revocation List , CRL) , 其中包含由CA颁发并且已经被吊销的证书 。 通过执行 CRL 来检查证书是否在吊销状态 , 但CRL的更新不是实时的 , 这就给证书验证带来了风险 。
目前 , 常用在线证书状态协议(Online Certificate Status Protocol , OCSP)代替传统的CRL协议 。 在证书验证过程中 , 可实时访问OCSP查验证书状态 , 这也导致了OCSP成为中心节点 , 一旦被攻击 , 将难以识别证书状态 , 甚至会导致隐私问题的出现 。
(3)跨CA互信问题:在PKI体系下 , 面对实际应用场景的复杂需求 , 需要解决跨CA互信的问题 。 通常采用交叉认证的方式 , 在不同的根CA之间通过互相签发证书来建立信任关系 。 在认证阶段 , 通过寻找终端实体证书到信任锚之间的信任链 , 从而实现对终端实体证书的验证 。 当CA数量较多时 , 运用交叉认证方法会形成复杂的网状结构 , 证书链的发现过程也随之变得复杂 。 通过在多个信任域之间设置桥CA也可以实现跨CA认证 , 桥CA作为连接桥梁 , 通过互相颁发交叉认证证书的方法与多个信任域建立信任关系 。 相比多CA之间的交叉互认 , 建立桥CA的方式便于发现信任链路径 , 但是需要维护大量不同结构的证书 , 管理比较复杂 。