『区块链』密码学原语如何应用?解析单向哈希的妙用( 二 )
本文插图
链式哈希结构单向哈希的用途很广泛 , 最直接的应用就是构造链式哈希结构 , 即大家所熟知的区块链 , 提供难以篡改的可信数据源 。
本文插图
由于单向哈希的单向性 , 从结构上可以看出 , 从前一个数据块原文 , 很容易计算下一个数据块所用的哈希值输入 , 但已知一个哈希值输入 , 难以反推出所有可能的数据块原文 。
区块链技术结合单向哈希和共识算法 , 当某一区块的数据共识确认后 , 下一区块将会记录前一区块数据的哈希值 , 从而实现整条链上所有数据块的难以篡改 。
在隐私保护方案设计中 , 以区块链为代表的基于链式哈希结构的可信数据源 , 可以起到简化协议设计的作用 , 尤其对于第4论中提到的恶意模型特别有效 。 恶意模型下的密码学协议 , 为了防范内部参与者不遵守协议、随意篡改数据 , 不得不引入复杂的多方交互验证过程 。
通过链式哈希结构 , 在现实系统中引入一个可信数据源 , 可以对关键的中间流程数据进行存证和溯源 , 一旦有参与方作恶 , 便能在第一时间检测出 , 且定位到对应责任方 , 有效保障隐私保护方案全流程的正确性 。
哈希树 单向哈希不仅仅能构造简单的链式哈希结构 , 还能根据业务需要扩展为更复杂的数据结构 , 其经典的形态之一便是哈希树 。
哈希树常称为Merkle Tree , 最早由Ralph Merkle在1979年的专利申请中提出 , 为大数据量的完整性验证提供了高效灵活的解决方案 。
这里的完整性验证是指 , 核实原始数据在使用和传输的过程中没有被篡改 。
在真实的隐私保护业务中 , 隐私数据多为高价值数据 , 而且多以密文的形态保存和使用 , 一旦被篡改 , 在不知道明文的前提下 , 难以通过常规技术手段来有效识别真伪 。
对于涉及多方协作、联合计算的隐私保护业务 , 隐私数据密文交换和共享通常是其中的核心流程 。 所以当这些隐私数据密文跨越系统边界时 , 数据接收方会有两方面数据检验需求:
- 整体完整:验证隐私数据中任意部分都未被篡改 。
- 篡改定位:如果存在攻击 , 能够有效定位被篡改的数据位置 , 便于开展应对流程 。
为了简化说明 , 以下分析假定:
- 发送方与接收方之间存在一个带宽有限的可信信道 , 如区块链上经过共识的数据 , 可以将简短的哈希值安全地传递给对方 。
- 隐私数据相关的原始文件由于数据量过大 , 不得不通过低成本低密级信道传输 , 如公共网络 , 因此可能被攻击者篡改 。
本方案中 , 发送方在发送原始文件之前 , 将所有的原始文件数据作为哈希算法的输入 , 计算哈希值 , 然后将哈希值与原始文件均发送给接收方 。
当接收方收到哈希值和原始文件后 , 重复发送方计算哈希值的操作 , 然后将新计算得到的哈希值与从网络上接收到的哈希值进行比较 , 如果相同 , 就可以判断原始文件在传输过程中未被篡改 。
方案2:分块多次哈希 + 哈希树
方案1对于满足整体完整需求十分有效 , 但对于第二条篡改定位需求就无能为力了 。
- 科技小灵区块链的新大陆正在被发现,大航海时代
- STD盛大公链数字内容+区块链,是否能带来新体验?
- 阑夕区块链追光史:从泡沫走向重生
- 春花开烂漫关于SETL区块链的交易后业务案例的几句话
- 火币区块链你在哪道门之内?,交易的四道门
- 居委会大爷区块链子公司负责人发行空气币?智度股份回应“正在核实”
- Top10World区块链竟是给文档加盖时间戳——不为所知的10项现代发明(上)
- 区块链仓单+供应链金融,广物金融集团与怡亚通首个项目落地
- 中新经纬火币研究院发布“区块链+数字身份”报告 探索数字经济发展
- 天津大学-好扑科技区块链实验室:区块链技术可助力金融支付的发展