
保密性的含义与适用范围
NIST的保密性词条将核心要求归纳为:遵守信息访问与披露的授权限制,防止敏感信息向未授权对象泄露。保护范围可以覆盖信息的存储、处理和传输过程。
讨论区块链的“保密系统”时,应先明确保护对象:是私钥、业务数据,还是参与者身份信息。不同对象需要分别判断,不能仅凭系统使用了密码学就认定所有信息都受到保密保护。
公钥、私钥与数字签名
Bitcoin开发者指南中的P2PKH示例说明了公私钥、签名和脚本之间的关系:私钥用于生成签名,公钥用于验证;公钥哈希参与设定输出的花费条件,花费时提交的相关数据用于接受验证。该示例说明的是一种具体交易授权机制。
这里的“授权”回答谁能够满足操作条件,“保密”回答谁能够看到信息。私钥需要保密,但由私钥生成的签名可以用于公开验证。签名有效,并不意味着被签署的数据对其他人不可见。
哈希、地址与加密如何区分
在上述P2PKH示例中,公钥哈希是对公钥进行哈希处理后的结果,地址则承载经过编码的相关信息。哈希、地址编码和签名各有用途,不能统称为对交易内容的加密。
理解这些术语时,可以分别追问信息发生了什么变化:形成用于匹配的摘要、转换成便于传递的表示,还是生成可验证的授权证据。仅出现哈希值或地址,不足以证明系统实现了敏感信息保密。
UTXO与脚本表示什么
UTXO指尚未花费的交易输出;输入引用先前输出,脚本规定花费需要满足的条件。这些术语描述交易状态和授权规则,本身不代表数据访问权限。
阅读技术说明时,要把“允许使用某个输出”与“允许读取某项信息”分别理解。满足花费条件属于交易验证问题,限制信息披露属于保密性问题,两者需要各自的机制和证据。
常见问题与判断边界
有签名是否就能防止泄密?签名验证不能替代保密措施。交易能够通过验证,也不能据此推断交易内容或参与者身份得到隐藏。
私钥保密是否意味着整个系统保密?私钥只是保护对象之一,还需要确认其他敏感信息在各处理环节向谁可见。上述交易例子限于P2PKH机制,不应扩展为所有区块链、所有地址格式或所有隐私方案的统一结论。