知识卡片

VSCC对链码部署/升级交易做越权写入审查

专业/工作 · 535

内容

VSCC验证交易时不只是核对背书签名是否满足[[策略用递归组合而非硬编码规则表达权限]]中定义的签名策略,对LSCC的deploy/upgrade这类会改变链码本身状态的特权交易还要多做一层语义检查:写集合里的键必须恰好是链码名称、值必须能解析成合法的链码数据对象、版本号必须与升级请求一致,且整笔交易只允许往lscc命名空间和自己链码的命名空间写数据。这道检查堵住了一个漏洞:即使背书签名完全合法,也不能借”部署链码”之名夹带修改其他命名空间的数据。签名策略验证回答的是”谁签的名”,这层语义检查回答的是”签名者真的只做了被允许做的那件事”——对特权操作必须两者都验证,缺一不可。

参考来源

《Hyperledger Fabric技术内幕:架构设计与实现原理》第5章《Committer记账节点》