大数据的传统的防篡改机制

一般的防篡改机制是基于加密算法的。选择密文安全(chosen ciphertext

security,即CCA-security)是公钥密码中很强的安全性概念,这个概念对存在主动攻击的许多加密应用中都是充分的。构造CCA安全的公钥密码体制具有重要的意义,如Bellare和Rogaway提出的OAEP体制就成为SET协议的加密标准。

长期以来,只有很少的加密方案能在标准模型中被证明是抗选择密文攻击的,而实用的方案更少。第一个实用的方案由Cramer和Shoup

1998年提出,他们后来把该方案的构造推广成平滑hash证明系统(Smooth Hash Proof

Systems,SHPS)。长期以来,利用SHPS是构造标准模型中实际可行的CCA方案的唯一方法。2004年,Canetti,

Halevi和Katz提出将任意Selective-ID

安全的基于身份的加密(IBE)方案转化成CCA安全公钥加密方案的一般方法。为了加密m,加密者利用接受者的公钥PK,产生一次性签名密钥对(vk,sk)将密文(vk,Enc(vk,m),σ)发送到接受者,其中Enc(vk,m)可以看做是对m以PK为主公开参数和vk为身份的加密,σ表示以用私钥SK对前两个部分密文的签名,解密时,先验证签名的合法性,若合法,再利用主密钥提取身份vk的私钥d,并用d进行解密。可以看出,该方案相应于原来的IBE方案由明显的通信和计算负荷,因为加密时要产生一次性签名的密钥对,以及利用所产生的私钥对IBE的密文进行签名,解密时还要先验证签名的合法性,再解密。

waters方案是Adaptive-ID安全的,即攻击者可以是适应性地选择身份攻击,但Canetti ,

Halevi和Katz转化的是Selective-ID

安全的,即攻击者在只能非适应性地选择身份(所攻击的身份在参数产生前就已决定)攻击。

选择密文安全(chosen ciphertext security,即CCA-security):

(1)挑战者执行参数产生算法和密钥产生算法,并将公共参数Param和加密公钥PK给攻击者A;

(2)攻击者A用若干个密文询问解密预言机,挑战者challenge按照解密算法进行解密,并将解密结果给攻击者A;

(3)攻击者A选出两个等长消息m0和m1,challenge随机地选取一个比特值γ,并对mγ进行加密形成挑战密文C=E(mγ)给攻击者;

(4)攻击者A可以继续选择密文询问解密预言机,唯一的限制是不能用挑战密文C本事进行询问;

(5)最后攻击者输出一个猜测γ'。当γ'=γ时,攻击者A成功。

区块链技术的特点优势

2017年最火的是什么?大家一定会说是区块链。在这之前,先给大家介绍下比特币系统的账户模型;在比特币里,它是没有用户资产记录这样的概念,不会像在mysql里那样,用一条数据存储记录表达;它的资产,是通过把所有的交易记录串联聚合之后,得到的;而且,区块链系统明确表达了,账户里的资产来源,你可以一直向上追溯,一直追到创世块,也就是挖矿时的所得。

例如,你收到了小张50元的转账;小张转给你的50元里,有20元是来自小李的,30元是来自小王的,小李的20元有3元是来自小刘的,17元是来自小孟的……,这个资金的流动传递会在链上完整的表达出来。

下面看下区块链系统是如何做的:

所谓资金流转就是一次交易,因此比特币系统,设计了一个非常核心的数据结构,大家看下下面这张截图:

图一

MsgTx就是表达一次交易,这个交易结构体里,有个切片字段TxIn,完整的定义是紧挨着MsgTx的下一个结构体。这个结构体里,有个PreviousOutPoint,它表示的意思,就是这笔输入的来源地址;这样一笔交易信息,会先封到一个block结构体里,然后经过验证存到数据库里;前一个交易记录里,同样也会有一个PreviousOutPoint继续向前指;这样是不是就比较清楚每笔资金的具体从哪里来的了,如果你比较感兴趣,可以在数据库里一直向上追溯,直到创世块;

下面来看下防篡改;就以上面小张账户的50元说起;在这里要把P2P网络提一下,这是区块链的运转起来的基础;区块链系统是一个完全松散自治的P2P网络,这个网络,每时每刻都会有节点加入,有节点离开;而且没有中心节点来管理,每一个节点都靠算法来维护自身的数据块信息;

现在来看小张的账户;如果小张想把自己的50元账户,改成50万;他要做的第一件事情是控制全网51%以上的节点,这个从概率上来推算基本是不可能的,可以认为失败是必然的(概率上的极大似然估计法);假设一个人的运气非常好,他真的控制了全网51%的节点;下面有另外一个更严峻的挑战:拿到用户的私钥;上面我们说了,小张要把这50改成50万,需要把小张之前的小李的,小王的,小刘的,小孟的…总之和这50元相关的所有的人的私钥都窃取到,然后把数据篡改掉,才能骗过区块链系统;

这里面有两个问题:1

为什么需要改这么多人的数据?这是由于,前面说了,区块链系统会记录每笔自己的详细来源,在交易验证的时候,发现数据不对,会不断向前回溯验证的;

2 为什么要私钥?这个我们需要配合交易的数据结构来说,还是看下面这张图的最后一个数据结构TxOut

图二

该数据结构表示,用户的交易输出,例如小张50元的来源是小李的20,小王的30,那这20和30分别对应的是小李的交易输出;大家注意了,这个TxOut里有个PkScript字段,专业的说法是锁定脚本;意思是,如果想花掉这笔钱,或者动这笔钱,需要有相应的解锁脚本和锁定脚本做匹配;否则就会失败,就会被系统发现;这个锁定脚本,通常是用户的公钥,解锁脚本是用户的私钥;简单理解,就是非对称加密验证的意思;所以说,如果用户想篡改资金额度,不仅要控制全网51%以上的节点,还要窃取很多相关人的密钥,其难度可想而知。

区块如何防篡改_浅谈大数据防篡改机制与区块链防篡改技术相关推荐

  1. 大数据审计的发展_浅谈大数据时代下审计工作的发展方向

    浅谈大数据时代下审计工作的发展方向 李寒梅 [摘 要] [ 摘 要 ] 随着信息化水平不断提升,企业的审计工作需要处理海量的数 据,而利用常规软件难以对海量数据进行处理,这就需要应用大数据技术.审 计 ...

  2. 浅谈大数据:如何成为大数据企业?

    文章讲的是 浅谈大数据:如何成为大数据企业, 1.什么叫大数据? "大数据"是"数据化"趋势下的必然产物!数据化最核心的理念是:"一切都被记录,一切都 ...

  3. 浅谈大数据的标签管理

    最近参与了一个大数据的项目,是涉及标签管理方面的内容,使我这个初涉入大数据领域的人获益匪浅. 标签,也可以叫做Tag,最早出现于2005年(注1),随着Web2.0的Blog应用被广泛使用开来.标签也 ...

  4. 张晓波:浅谈大数据应用的知与行|V课堂第82期

    2017年8月26日,<中国大数据应用蓝皮书>的发布引起了大数据领域的政产学界领导.顶尖学者的强烈关注.在全球化的新阶段,面对互联的新世界,大数据如何不断创造新模式.新生态和新时代? 第8 ...

  5. 数据仓库etl编程_莱牛教育:浅谈大数据ETL大数据工程师所需具备的能力

    ​ 在当今这个数据大爆炸的时代,海量的数据存储.处理.分析.管理成为各大企业在数字经济时代的新的挑战.大数据工程师作为对海量数据进行处理.分析的专业型技能人才,对各大企业迅速转型到数字经济领域都起到非 ...

  6. 浅谈大数据中的 2PC、3PC、Paxos、Raft、ZAB

    一致性 简述 一致性,是指对每个节点一个数据的更新,整个集群都知道更新,并且是一致的.假设一个具有N个节点的分布式系统,当其满足以下条件时,我们说这个系统满足一致性: 全认同: 所有N个节点都认同一个 ...

  7. 浅谈大数据风控的基本框架

    本文转载自 CreditX氪信,作者 唐正阳 近日,中国人民银行成立金融科技(FinTech)委员会,旨在加强金融科技工作的研究规划和统筹协调. 随着AI.云计算在金融业务层面的快速渗透,也倒逼监管跟 ...

  8. 浅谈大数据专业的就业前景

    近几年来,大数据这个词突然变得很火,不仅纳入阿里巴巴.谷歌等 互联网公司的战略规划中,同时也在我国国务院和其他国家的政府报告中多次提及,大数据无疑成为当今互联网世界中的新宠儿. 而近期朋友圈疯转的&q ...

  9. 浅谈大数据任务调度平台

    谈到大数据,避免不了hadoop, hive, spark 这些基础套件,但是在整个大数据开发的时候,我们面对的基本上都是数据开发平台和任务调度系统.数据开发平台一般直接面对业务同学,很大程度上影响业 ...

最新文章

  1. src与href的区别
  2. 优雅的读懂支持向量机 SVM 算法
  3. php自动合并,php实现合并数组并去除重复的方法
  4. ES6语法---let和var的不同
  5. lie group and computer vision : 李群、李代数在计算机视觉中的应用
  6. CODEVS 3657 括号序列
  7. ConstraintLayout约束控件详解
  8. Citrix 桌面云 XenApp_XenDesktop_7.15 部署系列(六)配置虚拟桌面控制器
  9. 写一个自动阅读的方法(需要运用html和css和JavaScript)
  10. [图像处理][Matlab] fspecial函数详解
  11. 数字化转型转的是什么
  12. FIL到底是什么?IPFS是什么?IPFS和FIL是什么关系?FIL参与方式
  13. 城市公交站点及换乘方案设计
  14. 用Xlsx xlsx-style 导出excel表格,附带合并单元格,文字居中,文字颜色字体大小等样式 (复制即可实现)
  15. 墨客IPFS子链技术交流
  16. 无线网络技术导论笔记(第六讲)
  17. JS变量的定义和数据类型
  18. 段码液晶屏的图纸尺寸应该怎么来设计(5)
  19. 《毕业生》系列之四 霸面天源迪科
  20. android 抽屉,凌乱了 Android的抽屉到底要不要?

热门文章

  1. 一小时入门 Python 3 网络爬虫
  2. 这些excel英语翻译方法你会吗?
  3. 淘宝开源平台“ 淘蝌蚪”正式上线
  4. 从零开始创建一个个人博客前端Vue,后端node.js(第一天)
  5. 【Swift】Swift和Objective-c混编
  6. TAG的9C的交易类型
  7. 机器学习实战:基于Scikit-Learn和TensorFlow(一)
  8. php中h语言是什么意思,stdio.h是什么意思?
  9. 端口测试之-- nc
  10. 关于Flash CS5 自己编写组件的教程