CN113259135B - 用于检测数据防篡改的轻量级区块链通信认证装置及其方法 - Google Patents
用于检测数据防篡改的轻量级区块链通信认证装置及其方法 Download PDFInfo
- Publication number
- CN113259135B CN113259135B CN202110760316.0A CN202110760316A CN113259135B CN 113259135 B CN113259135 B CN 113259135B CN 202110760316 A CN202110760316 A CN 202110760316A CN 113259135 B CN113259135 B CN 113259135B
- Authority
- CN
- China
- Prior art keywords
- node
- lightweight
- data
- full
- challenge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
- H04L9/3278—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/77—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Abstract
本发明公开了一种用于检测数据防篡改的轻量级区块链通信认证装置及方法,包括全节点和轻量级节点,全节点为创世区块以及由创世区块衍生出来的子区块,每个全节点和至少一个轻量级节点直接通信连接,每个轻量级节点内设有一个PUF芯片,每个PUF芯片都是唯一的。本发明通过全节点和轻量级节点之间的直接通信,轻量级节点将数据直接存储在全节点中,省去了中间存储器的环节,减少了可攻击的对象,并且每个轻量级节点内设置有PUF芯片,利用PUF芯片生成的质询响应对来验证节点的可信度,使得节点认证信息具有不可预测性,可以有效抵抗重放攻击与机器学习攻击,提高存储数据的安全性。
Description
技术领域
本发明涉及区块链认证技术领域,尤其涉及一种用于检测数据防篡改的轻量级区块链通信认证装置及其方法。
背景技术
区块链是由Satoshi Nakamoto首次提出来实现比特币的,是一种类似于链接列表的数据结构,具有一系列区块,每个块通常包含前一个块的哈希值,时间戳和某种形式的交易数据。它是一个仅可附加数据的数据结构,区块一旦添加则不能再进行修改。区块链是一种点对点分布式账本,任何人都可以单独验证所记录的交易的真实性。相比于中央服务器的数据维护方式,区块链不会存在可以对外泄露的记录。在公共区块链的情况下,任何人都可以创建公钥/私钥对并参与区块链上的交易。给定实体的公钥成为其地址,其私钥可用于签署涉及该实体的区块链上的任何交易。公共区块链的节点在下一个块上同意通过一致性算法添加到区块链。最常见的一致性算法是工作量证明,其中称为矿工的主机子集竞争完成计算密集型任务,并且任何先完成它的人可以建议将下一个块添加到区块链中。
现有的物联网系统使用中心化的系统架构,由中心服务器来提供通信服务和数据存储能力,从而更加容易遭受单点故障和恶意攻击,如分布式拒绝服务攻击(DDOS)、女巫攻击(Sybil attacks)等,从而使系统失去正常运作能力。典型的物联网网络通常采用分层拓扑结构,该拓扑结构使用各种标准通信协议,通常,检验测试设备是通过网络网关将检测数据存储至中央云服务器或者本地,设备采集的检测数据集中存储导致攻击者可以进入后台对数据进行修改,严重影响数据的准确性和权威性。虽然密码学和容错协议保证了传统分布式安全协议的安全性,由于区块链的设计是匿名的,所以一个攻击者可以轻易地在网络上发起Sybil攻击,通过模拟多个参与者来获得多数节点认同,从而对区块链中的数据进行篡改。为保证存储数据的不可篡改,急需安全性较高的区块链认证协议,实现检测数据的去中心化和分布式存储,提高存储数据的安全性。
发明内容
本发明要解决的技术问题是:为了解决现有技术区块链的认证方法需要耗费大量资源才能抵抗攻击者对数据篡改,并且加密过程容易被破解的技术问题,本发明提供一种用于检测数据防篡改的轻量级区块链通信认证装置及方法,通过全节点与轻量级节点之间直接通信连接,在轻量级节点内配置PUF芯片,通过PUF芯片生成的质询响应参数对作为认证的手段,使得节点认证信息具有不可预测性,可以有效抵抗重放攻击与机器学习攻击,防止攻击者对数据进行篡改,提高存储数据的安全性,且能够在不影响安全级别的前提下显著减少资源消耗,改善轻量级节点接入区块链后通信效率低与能耗高之间的冲突。
本发明解决其技术问题所采用的技术方案是:一种用于检测数据防篡改的轻量级区块链通信认证装置,其特征在于,包括:全节点和轻量级节点,所述全节点为创世区块以及由所述创世区块衍生出来的多个子区块,每个所述全节点和至少一个所述轻量级节点直接通信连接,每个所述轻量级节点内设有一个PUF芯片,每个所述PUF芯片都是唯一的。
本发明的用于检测数据防篡改的轻量级区块链通信认证装置,通过全节点和轻量级节点之间的直接通信,轻量级节点将数据直接存储在全节点中,省去了中间存储器的环节,减少了可攻击的对象,并且每个轻量级节点内设置有PUF芯片,利用PUF芯片生成的质询响应参数对来验证节点的可信度,使得节点认证信息具有不可预测性,可以有效抵抗重放攻击与机器学习攻击,提高存储数据的安全性。
本发明还提供了一种用于检测数据防篡改的轻量级区块链通信认证方法,采用如上所述的轻量级区块链通信认证装置,包括以下步骤:
S1:由所述创世区块开始,生成至少一个第一新区块,将所述第一新区块作为父区块生成至少一个第二新区块,将所述第二新区块作为父区块生成至少一个第三新区块,以此类推形成一个有向无环图结构,所述创世区块、第一新区块、第二新区块及第三新区块均为全节点;
S2:根据所述有向无环图结构所形成的由上至下的顺序,来确定所述创世区块、第一新区块、第二新区块及第三新区块的交易顺序;
S3:定义一个所述轻量级节点为Y,定义一个所述全节点为X,将所述轻量级节点Y与所述全节点X连接,并将所述轻量级节点Y进行初始化认证,所述轻量级节点Y接收所述全节点X的质询并由所述PUF芯片生成响应;当所述轻量级节点Y初始化认证成功后,将所述PUF芯片生成的所有质询响应参数对,以及所述轻量级节点Y的注册用户名存入所述全节点X的数据库中;
S4:当所述轻量级节点Y初始化认证成功后,所述轻量级节点Y和所述全节点X之间进行双向认证,若双向认证的结果表明所述全节点X和轻量级节点Y均为可信,则所述轻量级节点Y利用所述质询响应参数对将需要传输的数据进行加密处理并发送给所述全节点X,所述全节点X对加密数据进行验证,如果验证通过,则所述全节点X将数据存入本地账本中,并广播至其他全节点进行储存。
本发明的用于检测数据防篡改的轻量级区块链通信认证方法,通过将多个区块形成有向无环图结构,并根据有向无环图的拓扑顺序,对多个区块进行排序,确定交易处理顺序,能够提高事务处理的效率,提高资源的利用率,且每个全节点均可以与轻量级节点进行连接,实现数据存储的去中心化和分布式存储;由PUF芯片生成该轻量级节点的质询响应参数对,用来身份验证及加密处理,有效提高了存储数据抵抗攻击的能力,防止攻击者对数据进行篡改。
进一步,具体的,所述质询响应参数对包括质询参数C和响应参数R,所述响应参数R与其对应的所述质询参数C成对使用。全节点的数据库中存储有多对质询响应参数对。
进一步,具体的,当所述全节点X与多个所述轻量级节点连接时,所述多个轻量级节点与所述全节点X依次进行认证,认证过程与所述步骤S1-S4相同。也就是说,本认证方法的过程只是一个轻量级节点和一个全节点之间的认证过程,当一个全节点与多个轻量级节点通信连接时,每个轻量级节点都要与该全节点进行认证判断。
进一步,具体的,所述轻量级节点Y和所述全节点X之间进行双向认证具体包括以下步骤:
S41:首先由所述PUF芯片随机生成一对质询参数CL和响应参数rL,所述轻量级节点Y发送所述注册用户名及所述质询参数CL给所述全节点X,所述全节点X接收到所述注册用户名及所述质询参数CL后,在所述数据库中寻找所述注册用户名和质询参数CL对应的响应参数RL,判断所述响应参数rL和所述响应参数RL是否一致,如果所述响应参数rL等于所述响应参数RL,则认证通过,标记所述轻量级节点为可信,进行步骤S42;如果所述响应参数rL与所述响应参数RL不相同,则认证失败,认为所述轻量级节点Y受到过攻击,中断认证。
S42:当所述轻量级节点Y认证通过后,所述全节点X从所述数据库中随机选取一对质询响应参数对中的质询参数CF发送给所述轻量级节点Y,所述轻量级节点Y接收所述质询参数CF后,利用所述PUF芯片生成响应参数rF,判断所述响应参数rF和所述质询响应参数对中的响应参数RF是否一致,如果所述响应参数rF等于所述响应参数RF,则认证通过,标记所述全节点X为可信。
通过先验证轻量级节点是否可信再选择是否接收该节点发送的数据,能有效防止DDOS攻击,当大量节点发送数据请求时,仅验证身份信息使全节点处理速度能够加快,有效避免节点崩溃。
进一步,具体的,所述轻量级节点Y利用所述质询响应参数对将需要传输的数据进行加密处理并发送给所述全节点X,所述全节点X对加密数据进行验证的具体步骤为:当所述全节点X和轻量级节点Y均为可信时,所述轻量级节点Y利用所述PUF芯片随机生成一对质询参数CJ和响应参数rJ,并利用所述响应参数rJ对需要传输的数据进行加密处理,得到加密数据data,所述轻量级节点Y将所述质询参数CJ和所述加密数据data一起发送给所述全节点X,所述全节点X在所述数据库中查找所述质询参数CJ对应的响应参数RJ,并利用所述响应参数RJ对所述加密数据data进行解密,如果解密成功,则说明所述加密数据data没有被篡改过,认为传输的数据是可信的(数据安全可靠),所述全节点X读取数据后存入本地账本中,并广播至其他全节点进行储存。利用响应参数,对传输数据进行加密处理,由于攻击者无法得知PUF芯片的类型和响应参数,也就无法破解密文,同时,由于区块链是安全的,攻击者也无法从全节点的数据库中获取响应参数,从而提高了数据的安全性。
进一步,具体的,所述轻量级节点Y利用所述质询响应参数对将需要传输的数据进行加密处理并发送给所述全节点X,所述全节点X对加密数据进行验证的具体步骤为:
S50:当需要传输的数据量较大时,所述轻量级节点Y先将需要传输的数据分成i个片段并对所述i个片段依次进行标记;
S51:所述轻量级节点Y随机选取某个片段传输给所述全节点X,所述轻量级节点Y
利用所述PUF芯片随机生成一对质询参数和响应参数,利用所述响应参数对需
要传输的数据片段进行加密处理,得到加密数据data(i),所述轻量级节点Y将所述质询参
数和所述加密数据data(i)一起发送给所述全节点X,所述全节点X在所述数据库中查找
所述质询参数对应的响应参数,并利用所述响应参数对所述加密数据data(i)
进行解密,如果解密成功,则说明所述加密数据data(i)没有被篡改过,认为传输的数据片
段是可信的;
S52:重复步骤S51,直到所述i个片段均被所述全节点X认为是可信的,所述全节点X将所述i个片段拼接成完整的数据并存入本地账本中,并广播至其他全节点进行储存。
当数据量较大时,轻量级节点可以将数据拆分成多个片段,对每个片段分别用响应参数进行加密,再由全节点将多个片段进行拼接得到完整的数据,可以进一步提高数据的安全性。
本发明的有益效果是,本发明的用于检测数据防篡改的轻量级区块链通信认证装置及方法,通过全节点与轻量级节点的直接通信,全节点采用有向无环图的结构,可以加快交易处理与传播的速度,较少的全节点可以有效防御攻击,轻量级节点利用PUF芯片生成的质询响应参数对作为唯一身份标识进行信息交互,以确保通信过程中双方的可信度;将节点认证信息通过密文形式进行传输,可以有效抵抗通信过程中的窃听攻击;使用PUF技术,能够确保认证信息的不可预测性,有效抵抗重放攻击与机器学习攻击,防止攻击者对存储数据进行篡改,且可以简化经典区块链中的大量签名生成算法,使用PUF来代替非对称加密、SHA256算法及ECDSA算法,在不影响安全级别的前提下可以显著减少资源消耗,改善轻量级节点接入区块链后通信效率低与能耗高之间的冲突。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明的用于检测数据防篡改的轻量级区块链通信认证装置的结构示意图。
图2是本发明的用于检测数据防篡改的轻量级区块链通信认证方法的流程图。
图3是本发明全节点生成过程的示意图。
图4是本发明的轻量级节点和全节点之间进行双向认证的流程图。
图5是本发明的数据传输过程的流程图。
图6是本发明的用于检测数据防篡改的轻量级区块链通信认证方法的应用系统
图中:1、全节点,2、轻量级节点,21、PUF芯片,101智能手环,102、微型处理器,103、FPGA开发板,104、计算机。
具体实施方式
现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例一
如图1所示,一种用于检测数据防篡改的轻量级区块链通信认证装置,包括:全节点1和轻量级节点2,全节点1为创世区块以及由创世区块衍生出来的多个子区块,每个全节点1和至少一个轻量级节点2直接通信连接,每个轻量级节点2内设有一个PUF芯片21,每个PUF芯片21都是唯一的。在本实施例中,一个区块即为一个全节点1,一个全节点1可以连接一个轻量级节点2,也可以连接多个轻量级节点2,轻量级节点2可以是物联网设备,例如监测设备。PUF芯片21设置在轻量级节点的内部,每颗PUF芯片都具有不可预知的、独一无二的、无法克隆的“电子指纹”,也就是说,每个轻量级节点上的PUF芯片都是唯一的。
在本实施例中,全节点1是拥有完整区块链账本的节点,全节点需要占用内存同步所有的区块链数据,能够独立校验区块链上的所有交易并实时更新数据,主要负责区块链的交易的广播和验证。本实施例中设计全节点1是为了释放资源和计算负担,使区块链能够在轻量级物联网上实现。本实施例中的全节点1有两个作用,一方面,全节点1可以使用经典的区块链共识协议与主链上的其他全节点进行通信,另一方面,全节点1可以在轻量级区块链通信认证装置中充当可信管理员,进行节点身份验证、数据验证和事务的存储等等。全节点1可以将适当的存储与传输任务分配给与连接的轻量级节点2。轻量级节点2可以是物联网设备,例如检测设备等,轻量级节点2可以在保持高安全水平的同时减少额外的资源利用,使攻击成本显著高于交易价值,以威慑恶意攻击者。在本实施例中,出于安全的考虑,一个轻量级节点2只能与一个全节点1直接通信连接,也就是说,本实施例中的轻量级节点2之间是相互独立的,它们均与全节点1直接通信。
实施例二
如图2所示,一种用于检测数据防篡改的轻量级区块链通信认证方法,采用实施例一的装置,以一个全节点和一个轻量级节点之间的认证过程为例,具体包括以下步骤:
S1:由创世区块开始,生成至少一个第一新区块,将第一新区块作为父区块生成至少一个第二新区块,将第二新区块作为父区块生成至少一个第三新区块,以此类推形成一个有向无环图结构,创世区块、第一新区块、第二新区块及第三新区块均为全节点。
需要说明的是,如果一个有向图无法从某个顶点出发经过若干条边回到该点,则这个图是一个有向无环图(DAG图)。例如,如图2所示,由创世区块开始,可以生成新的区块A,将区块A作为父区块生成新的区块B和区块E,将区块B作为父区块生成新的区块D和区块C,以此类推形成一个有向无环图结构,创世区块、区块A、区块E、区块B、区块D及区块C均为全节点。通常,将子区块个数最多的区块认为是主链上的区块,这样可以使得主链的权重最大,以便其他全节点将来更有可能选择相同的链作为它们的主链。每当一个区块生成一个新区块时,首先计算处于其本地DAG状态的链,并将主链中的最后一个区块设置为新区块的父区块,然后该全节点找到DAG状态的链中没有传入边的提示块,并将新区块创建到每个提示块的参考边。例如,在图3中,区块B中的传入边还没有提示块,那么在生成新区块时,新的全节点C将选择区块B作为父区块。本实施例中的全节点采用有向无环图结构,可以实现局部处理和并行结算,使得交易速度大幅提升,另外,由于各个全节点之间无需等待同步其他全节点的数据就可计算,使得记账节点拓展性更强,最后,相比于链式结构,在有向无环图结构中恶意修改的难度会大很多,因为有向无环图结构拥有很多的出度和入度,假如要修改某一个节点,那么对应的出入度都要进行修改,提高了攻击者攻击的难度。
S2:根据有向无环图结构所形成的由上至下的顺序,来确定创世区块、第一新区块、第二新区块及第三新区块的交易顺序。
需要说明的是,本实施例通过对区块链中的每个区块进行排序来决定处理事务的总顺序。以图3为例,获得的总顺序如下:创世区块,区块A,区块 E,区块B,区块D,区块C。从区块的总顺序,可以派生出这些区块内的交易的总顺序来处理这些交易。对于冲突的或重复的事务,只处理第一个事务,并丢弃其余的事务。在获取订单时同时检查事务的冲突,如果两个事务相互冲突,将丢弃第二个事务。如果一个事务出现在多个区块中,将只保留第一个进行处理,丢弃所有冗余的事务,这样可以进一步提高区块链的安全性。
例如,假设攻击者想恢复区块B中已处理的事务,攻击者需要恢复获得一致同意的区块总数,攻击者便可在区块B之前插入一个攻击者区块,并且攻击者区块包含一个与区块B中事务相冲突的交易,此时,如果攻击者区块是链接到创世区块上的,那么由于攻击者区块是新生成的,不存在子区块,因此无法成为枢轴链上的区块,根据定义,攻击者区块必须获得枢轴链区块的多数认同,才可进入交易,此时区块B中包含的已被处理的重复交易将被辨别为不合法交易。因此,要恢复区块B所包含的事务,攻击者必须躲避主链对于交易的核实,攻击者必须修改枢轴链上相应的区块,一旦攻击者试图修改枢轴链,安全性依赖于所有可信全节点持续在枢轴链上工作,使得枢轴链更长、权重更重,可信全节点加起来比攻击者具有更多的区块生成能力,随着时间的推移,枢轴链上的创世区块对于攻击者来说越来越不可逆转,攻击难度增大。
S3:定义一个轻量级节点为Y,定义一个全节点为X,将轻量级节点Y与全节点X连接,并将轻量级节点Y进行初始化认证,轻量级节点Y接收全节点X的质询并由PUF芯片生成响应;当轻量级节点Y初始化认证成功后,将PUF芯片生成的所有质询响应参数对,以及轻量级节点Y的注册用户名存入全节点X的数据库中。
需要说明的是,将轻量级节点Y与全节点X进行连接时,轻量级节点Y需进行初始化认证,以建立节点之间的可信通信,确保后续操作的安全性。在初始化认证期间,轻量级节点Y可以生成自己的注册用户名,以及轻量级节点Y接收全节点X的质询并由PUF芯片生成响应,得到PUF芯片能够产生的所有的质询响应参数对,当轻量级节点Y注册成功后,将PUF芯片生成的所有质询响应参数对以及轻量级节点Y的注册用户名同时存入全节点X的数据库中,便于后期的身份认证,数据库为全节点X自带的数据库,可以用来储存质询响应参数对,也可以储存其他数据。也就是说,全节点X的数据库中包含了该轻量级节点Y的注册用户名以及多个质询响应参数对,并且这个质询响应参数对只能用于该轻量级节点Y的认证使用。物理不可克隆功能(Physically Unclonable Function,简称PUF),虽然芯片的生产流程是很精密的,但芯片上每个电路还是有细微的差异,PUF利用这些微小的差异来生成一个独特的数值作为身份标识,PUF电路没有电池或其它永久性电源,任何对这个独特的数值进行物理探测的尝试都将会极大地改变PUF电路的特性,从而产生一个不同的数值,并且PUF的特殊数值只在需要加密操作时生成,并且可以立即擦除。
S4:当轻量级节点Y初始化认证成功后,轻量级节点Y和全节点X之间进行双向认证,若双向认证的结果表明全节点X和轻量级节点Y均为可信,则轻量级节点Y利用响应参数,对需要传输的数据进行加密处理并发送给全节点X,全节点X对加密数据进行验证,如果验证通过,则全节点X将数据存入本地账本中,并广播至其他全节点X进行储存。
需要说明的是,质询响应参数对包括质询参数C和响应参数R,响应参数R只能与其对应的质询参数C成对使用。当某一对质询响应参数对被使用过后,全节点X的数据库中会立即删除,防止攻击者窥探。在本实施例中,需要传输的数据是轻量级节点采集到的数据,例如智能手环监测到的心率数据等。
如图4所示,轻量级节点Y和全节点X之间进行双向认证具体包括以下步骤:
S41:首先由PUF芯片随机生成一对质询参数CL和响应参数rL,轻量级节点Y发送注册用户名及质询参数CL给全节点X,全节点X接收到注册用户名及质询参数CL后,在数据库中寻找注册用户名和质询参数CL对应的响应参数RL,判断响应参数rL和响应参数RL是否一致,如果响应参数rL等于响应参数RL,则认证通过,标记轻量级节点Y为可信,进行步骤S42;如果响应参数rL与响应参数RL不相同,则认证失败,认为轻量级节点Y受到过攻击,中断认证。
S42:当轻量级节点Y认证通过后,全节点X从数据库中随机选取一对质询响应参数对中的质询参数CF发送给轻量级节点Y,轻量级节点Y接收质询参数CF后,利用PUF芯片生成响应参数rF,判断响应参数rF和质询响应参数对中的响应参数RF是否一致,如果响应参数rF等于响应参数RF,则认证通过,标记全节点X为可信。
现有技术中,轻量级节点认证依赖复杂挑战式握手认证协议(CHAPs)来确保通信的安全性,包括以下几个步骤:
Step1 链路建立成功后,认证方发送质询消息至对方服务器。
Step2 对方经过单向哈希函数计算出来的值做应答。
Step3 认证者根据自己计算的哈希值来检查应答是否正确,如果与所收到的值匹配,则认证成功;否则认证失败,连接终止。
Step4 经过一定的随机间隔,认证者再次发送一个新的挑战给对方服务器,接着重复步骤1到3,循环往复,直至认证成功。
传统的握手协议需频繁执行操作以保证安全性,降低了认证效率,且无法抵御基于DDOS的攻击,利用单向哈希函数进行加密,容易形成某种周期性的规律,易受到基于机器学习的攻击。本实施例通过利用PUF生成真随机数来代替认证过程中的加密算法,能够提高认证效率且能够抵抗DDOS和机器学习的攻击。另外,本实施例通过先验证轻量级节点Y是否可信再选择是否接收该节点发送的数据,也能有效防止DDOS攻击,当大量节点发送数据请求时,仅验证身份信息使全节点X处理速度能够加快,有效避免节点崩溃。
当全节点X和轻量级节点Y均为可信时,且需要传输的数据量较小时,轻量级节点Y利用PUF芯片随机生成一对质询参数CJ和响应参数rJ,利用响应参数rJ对需要传输的数据进行加密处理,得到加密数据data,轻量级节点Y将质询参数CJ和加密数据data一起发送给全节点X,全节点X在数据库中查找质询参数CJ对应的响应参数RJ,并利用响应参数RJ对加密数据data进行解密,如果解密成功,则说明加密数据data没有被篡改过,认为传输的数据是可信的,全节点X读取数据后存入本地账本中,并广播至其他全节点进行储存。
或者,如图5所示,当全节点X和轻量级节点Y均为可信时,且需要传输的数据量较
大时,轻量级节点Y先将需要传输的数据分成i个片段并对i个片段依次进行标记,i可以是
2,3,4...等正整数。轻量级节点Y随机选取某个片段传输给全节点X,轻量级节点Y利用PUF
芯片随机生成一对质询参数和响应参数,利用响应参数对需要传输的数据片
段进行加密处理,得到加密数据data(i),轻量级节点Y将质询参数和加密数据data(i)
一起发送给全节点X,全节点X在数据库中查找质询参数对应的响应参数,并利用响
应参数对加密数据data(i)进行解密,如果解密成功,则说明加密数据data(i)没有被
篡改过,认为传输的数据片段是可信的。重复上述验证过程,直到i个片段均被全节点X认为
是可信的,全节点X将i个片段拼接成完整的数据并存入本地账本中,并广播至其他全节点
进行储存。
上述实施例中提到的质询响应参数对(CL,RL),(CF,RF)和(CJ,RJ)均已存储在全节点X的数据库中,下标字母的区别仅是为了做一个区分。
在本实施例中,需要传输的数据通过响应参数进行加密处理,可以提高数据的安全性,如果全节点X能够通过响应参数将密文解密,则加密的数据认为是可信的,如果全节点X不能通过响应参数将密文解密,则加密的数据有可能已经被篡改,此时,全节点X不会将数据存入本地账本,保证本地账本中数据的准确性。轻量级节点Y将数据预存储在全节点X的链中,数据仅共享给全节点X,攻击者无法从物理上或远程访问链外节点。传统的加密方式一般采用数学的方式对数据加密,攻击者可以通过多次试验破解,从而获取节点之间的广播内容。而本实施例中,攻击者不知道全节点X和轻量级节点Y中的硬件原语,轻量级节点Y具有安全的抗篡改能力,并且由于PUF芯片和区块链的安全性,攻击者无法知道PUF芯片的类型和质询响应参数,全节点X存储的质询响应参数对无法被获取,即便受到攻击,攻击者也无法破解响应参数获得数据。
实施例三
如图6所示,一种用于检测数据防篡改的轻量级区块链通信认证方法的应用系统,包括智能手环101、微型处理器102、FPGA开发板103以及计算机104,智能手环101与微型处理器102之间无线通信连接,FPGA开发板103与微型处理器102之间通过串口连接,FPGA开发板103内设置了PUF芯片,微型处理器102与计算机104之间通信连接。智能手环101、微型处理器102、及FPGA开发板103共同组成轻量级节点,计算机104模拟全节点。智能手环101内部配备了温度传感器、心率传感器及GPS等硬件,智能手环监测到的用户的温度、心率及位置等健康数据通过蓝牙或者无线网络传输给微型处理器102,微型处理器102将接收到的健康数据进行加密及上链,同时,由PUF芯片生成质询响应参数对作为该智能手环的唯一身份标识,用来验证用户的身份,保证数据的安全性。这样不仅在上传健康数据时可以验证是否为合法用户,防止非法用户进行篡改、伪造等操作,确保用户传入数据库的数据的真实性,而且在用户查询时验证查询凭证的正确性,确保数据信息不被未授权用户获取。
综上,本发明的用于检测数据防篡改的轻量级区块链通信认证装置及方法,通过全节点与轻量级节点的直接通信,全节点采用有向无环图的结构,可以加快交易处理与传播的速度,较少的全节点可以有效防御攻击,轻量级节点利用PUF芯片生成的质询响应参数对作为唯一身份标识进行信息交互,以确保通信过程中双方的可信度;将节点认证信息通过密文形式进行传输,可以有效抵抗通信过程中的窃听攻击;使用PUF技术,能够确保认证信息的不可预测性,有效抵抗重放攻击与机器学习攻击,且可以简化经典区块链中的大量签名生成算法,使用PUF来代替非对称加密、SHA256算法及ECDSA算法,在不影响安全级别的前提下可以显著减少资源消耗,改善轻量级节点接入区块链后通信效率低与能耗高之间的冲突。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要如权利要求范围来确定其技术性范围。
Claims (2)
1.一种用于检测数据防篡改的轻量级区块链通信认证方法,采用:全节点(1)和轻量级节点(2),所述全节点(1)为创世区块以及由所述创世区块衍生出来的多个子区块,每个所述全节点(1)和至少一个所述轻量级节点(2)直接通信连接,每个所述轻量级节点(2)内设有一个PUF芯片(21),每个所述PUF芯片(21)都是唯一的;
所述方法包括以下步骤:
S1:由所述创世区块开始,生成至少一个第一新区块,将所述第一新区块作为父区块生成至少一个第二新区块,将所述第二新区块作为父区块生成至少一个第三新区块,以此类推形成一个有向无环图结构,所述创世区块、第一新区块、第二新区块及第三新区块均为全节点;
S2:根据所述有向无环图结构所形成的由上至下的顺序,来确定所述创世区块、第一新区块、第二新区块及第三新区块的交易顺序;
S3:定义一个所述轻量级节点为Y,定义一个所述全节点为X,将所述轻量级节点Y与所述全节点X连接,并将所述轻量级节点Y进行初始化认证,所述轻量级节点Y接收所述全节点X的质询并由所述PUF芯片生成响应;当所述轻量级节点Y初始化认证成功后,将所述PUF芯片生成的所有质询响应参数对,以及所述轻量级节点Y的注册用户名存入所述全节点X的数据库中,所述质询响应参数对包括质询参数C和响应参数R,所述响应参数R与其对应的所述质询参数C成对使用;
S4:当所述轻量级节点Y初始化认证成功后,所述轻量级节点Y和所述全节点X之间进行双向认证,若双向认证的结果表明所述全节点X和轻量级节点Y均为可信,则所述轻量级节点Y利用所述质询响应参数对将需要传输的数据进行加密处理并发送给所述全节点X,所述全节点X对加密数据进行验证,如果验证通过,则所述全节点X将数据存入本地账本中,并广播至其他全节点进行储存;
其中,所述轻量级节点Y和所述全节点X之间进行双向认证具体包括以下步骤:
S41:首先由所述PUF芯片随机生成一对质询参数CL和响应参数rL,所述轻量级节点Y发送所述注册用户名及所述质询参数CL给所述全节点X,所述全节点X接收到所述注册用户名及所述质询参数CL后,在所述数据库中寻找所述注册用户名以及所述质询参数CL对应的响应参数RL,判断所述响应参数rL和所述响应参数RL是否一致,如果所述响应参数rL等于所述响应参数RL,则认证通过,标记所述轻量级节点Y为可信,进行步骤S42;如果所述响应参数rL与所述响应参数RL不相同,则认证失败,认为所述轻量级节点Y受到过攻击,中断认证;
S42:当所述轻量级节点Y认证通过后,所述全节点X从所述数据库中随机选取一对质询响应参数对中的质询参数CF发送给所述轻量级节点Y,所述轻量级节点Y接收所述质询参数CF后,利用所述PUF芯片生成响应参数rF,判断所述响应参数rF和所述质询响应参数对中的响应参数RF是否一致,如果所述响应参数rF等于所述响应参数RF,则认证通过,标记所述全节点X为可信;
其中,所述轻量级节点Y利用所述质询响应参数对将需要传输的数据进行加密处理并发送给所述全节点X,所述全节点X对加密数据进行验证的具体步骤为:
当所述全节点X和轻量级节点Y均为可信时,所述轻量级节点Y利用所述PUF芯片随机生成一对质询参数CJ和响应参数rJ,并利用所述响应参数rJ对需要传输的数据进行加密处理,得到加密数据data,所述轻量级节点Y将所述质询参数CJ和所述加密数据data一起发送给所述全节点X,所述全节点X在所述数据库中查找所述质询参数CJ对应的响应参数RJ,并利用所述响应参数RJ对所述加密数据data进行解密,如果解密成功,则说明所述加密数据data没有被篡改过,认为传输的数据是可信的,所述全节点X读取数据后存入本地账本中,并广播至其他全节点进行储存;
或者,
S50:当需要传输的数据量较大时,所述轻量级节点Y先将需要传输的数据分成i个片段并对所述i个片段依次进行标记;
S51:所述轻量级节点Y随机选取某个片段传输给所述全节点X,所述轻量级节点Y利用所述PUF芯片随机生成一对质询参数和响应参数,并利用所述响应参数对需要传输的数据片段进行加密处理,得到加密数据data(i),所述轻量级节点Y将所述质询参数和所述加密数据data(i)一起发送给所述全节点X,所述全节点X在所述数据库中查找所述质询参数对应的响应参数,并利用所述响应参数对所述加密数据data(i)进行解密,如果解密成功,则说明所述加密数据data(i)没有被篡改过,认为传输的数据片段是可信的;
S52:重复步骤S51,直到所述i个片段均被所述全节点X认为是可信的,所述全节点X将所述i个片段拼接成完整的数据并存入本地账本中,并广播至其他全节点进行储存。
2.如权利要求1所述的用于检测数据防篡改的轻量级区块链通信认证方法,其特征在于,当所述全节点X与多个所述轻量级节点连接时,所述多个轻量级节点与所述全节点X依次进行认证,认证过程与所述步骤S1-S4相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110760316.0A CN113259135B (zh) | 2021-07-06 | 2021-07-06 | 用于检测数据防篡改的轻量级区块链通信认证装置及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110760316.0A CN113259135B (zh) | 2021-07-06 | 2021-07-06 | 用于检测数据防篡改的轻量级区块链通信认证装置及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113259135A CN113259135A (zh) | 2021-08-13 |
CN113259135B true CN113259135B (zh) | 2022-01-21 |
Family
ID=77190728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110760316.0A Active CN113259135B (zh) | 2021-07-06 | 2021-07-06 | 用于检测数据防篡改的轻量级区块链通信认证装置及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113259135B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114723181B (zh) * | 2022-06-07 | 2022-09-02 | 常州云燕医疗科技有限公司 | 基于区块链的数字一体化手术室信号传输系统及方法 |
CN116506130B (zh) * | 2023-04-24 | 2023-12-01 | 翼盾(上海)智能科技有限公司 | 一种物联网安全认证芯片系统及访问控制方法 |
CN116451282B (zh) * | 2023-06-15 | 2023-09-01 | 浙江亿视电子技术有限公司 | 一种针对网点碳排放监测的传感器数据防篡改系统及方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905202A (zh) * | 2014-03-28 | 2014-07-02 | 广东工业大学 | 一种基于puf的rfid轻量级双向认证方法 |
CN107077674A (zh) * | 2016-12-29 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 交易验证处理方法、装置及节点设备 |
CN110336663A (zh) * | 2019-06-14 | 2019-10-15 | 东南大学 | 一种基于区块链技术的PUFs群对群认证方案 |
US10523443B1 (en) * | 2016-08-24 | 2019-12-31 | Bruce Kleinman | Devices, methods, and systems for cryptographic authentication and provenance of physical assets |
EP3678346A1 (en) * | 2018-09-20 | 2020-07-08 | Baidu Online Network Technology (Beijing) Co., Ltd. | Blockchain smart contract verification method and apparatus, and storage medium |
WO2020183035A1 (es) * | 2019-03-11 | 2020-09-17 | Signe,S.A. | Método de autenticación inclonable para verificación de identidad digital basado en dispositivos con chips de funciones físicamente inclonables |
WO2020193462A1 (en) * | 2019-03-26 | 2020-10-01 | Quantum Base Limited | A method, apparatus and system for challenging a physical unclonable function device |
CN112152816A (zh) * | 2020-09-24 | 2020-12-29 | 南京航灵信息科技有限公司 | 一种物联网安全芯片可信机制 |
US11128463B1 (en) * | 2021-03-29 | 2021-09-21 | The Florida International University Board Of Trustees | Cost-efficient IOT forensics framework with blockchain |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180102627A (ko) * | 2016-01-11 | 2018-09-17 | 에스티씨. 유엔엠 | 프라이버시-보존, 상호 puf-기반 인증 프로토콜 |
US10397328B2 (en) * | 2017-05-17 | 2019-08-27 | Nec Corporation | Method and system for providing a robust blockchain with an integrated proof of storage |
US10783272B2 (en) * | 2017-12-08 | 2020-09-22 | Nec Corporation | Method and system of preserving privacy for usage of lightweight blockchain clients |
US20200195446A1 (en) * | 2018-12-18 | 2020-06-18 | Sri International | System and method for ensuring forward & backward secrecy using physically unclonable functions |
CN110324151B (zh) * | 2019-06-25 | 2021-12-31 | 北京智涵芯宇科技有限公司 | 基于puf和零知识证明的安全芯片及应用方法、系统及介质 |
-
2021
- 2021-07-06 CN CN202110760316.0A patent/CN113259135B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905202A (zh) * | 2014-03-28 | 2014-07-02 | 广东工业大学 | 一种基于puf的rfid轻量级双向认证方法 |
US10523443B1 (en) * | 2016-08-24 | 2019-12-31 | Bruce Kleinman | Devices, methods, and systems for cryptographic authentication and provenance of physical assets |
CN107077674A (zh) * | 2016-12-29 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 交易验证处理方法、装置及节点设备 |
EP3678346A1 (en) * | 2018-09-20 | 2020-07-08 | Baidu Online Network Technology (Beijing) Co., Ltd. | Blockchain smart contract verification method and apparatus, and storage medium |
WO2020183035A1 (es) * | 2019-03-11 | 2020-09-17 | Signe,S.A. | Método de autenticación inclonable para verificación de identidad digital basado en dispositivos con chips de funciones físicamente inclonables |
WO2020193462A1 (en) * | 2019-03-26 | 2020-10-01 | Quantum Base Limited | A method, apparatus and system for challenging a physical unclonable function device |
CN110336663A (zh) * | 2019-06-14 | 2019-10-15 | 东南大学 | 一种基于区块链技术的PUFs群对群认证方案 |
CN112152816A (zh) * | 2020-09-24 | 2020-12-29 | 南京航灵信息科技有限公司 | 一种物联网安全芯片可信机制 |
US11128463B1 (en) * | 2021-03-29 | 2021-09-21 | The Florida International University Board Of Trustees | Cost-efficient IOT forensics framework with blockchain |
Non-Patent Citations (6)
Title |
---|
Kashif Rahim ; Hasan Tahir ; Nassar Ikram."Sensor Based PUF IoT Authentication Model for a Smart Home with Private Blockchain".《2018 International Conference on Applied and Engineering Mathematics (ICAEM)》.2018, * |
Krishna Prasad Satamraju ; B. Malarkodi."A PUF-based Mutual Authentication Protocol for Internet of Things".《2020 5th International Conference on Computing, Communication and Security (ICCCS)》.2020, * |
Ore Ndiaye Diedhiou ; Cherif Diallo."An IoT mutual authentication scheme based on PUF and blockchain".《2020 International Conference on Computational Science and Computational Intelligence (CSCI)》.2021, * |
一种基于PUF的两方认证与会话密钥交换协议;贺章擎等;《计算机工程与应用》;20180915(第18期);全文 * |
一种基于SRAM PUF的安全双向认证协议;刘丹等;《密码学报》;20170815(第04期);全文 * |
可证明安全的轻量级双向认证协议:MPUF-HB;刘威等;《小型微型计算机系统》;20171115(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113259135A (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109768988B (zh) | 去中心化物联网安全认证系统、设备注册和身份认证方法 | |
Wazid et al. | LAM-CIoT: Lightweight authentication mechanism in cloud-based IoT environment | |
JP7454035B2 (ja) | ブロックチェーンにより実装される方法及びシステム | |
Zhang et al. | Blockchain-assisted public-key encryption with keyword search against keyword guessing attacks for cloud storage | |
JP7289298B2 (ja) | 低エントロピーパスワードを用いてブロックチェーントランザクションを許可するためのコンピュータ実装されたシステム及び方法 | |
CN113259135B (zh) | 用于检测数据防篡改的轻量级区块链通信认证装置及其方法 | |
Liu et al. | A physically secure, lightweight three-factor and anonymous user authentication protocol for IoT | |
Taher et al. | Low-overhead remote user authentication protocol for IoT based on a fuzzy extractor and feature extraction | |
CN113708935B (zh) | 基于区块链和puf的物联网设备统一认证方法及系统 | |
Zhang et al. | BTNC: A blockchain based trusted network connection protocol in IoT | |
Badshah et al. | LAKE-BSG: Lightweight authenticated key exchange scheme for blockchain-enabled smart grids | |
CN115378604A (zh) | 一种基于信誉值机制的边缘计算终端设备的身份认证方法 | |
Panda et al. | SLAP: A Secure and Lightweight Authentication Protocol for machine-to-machine communication in industry 4.0 | |
CN114301624A (zh) | 一种应用于金融业务的基于区块链的防篡改系统 | |
Babu et al. | EV-PUF: Lightweight security protocol for dynamic charging system of electric vehicles using physical unclonable functions | |
Saqib et al. | A systematic security assessment and review of Internet of things in the context of authentication | |
US11101989B2 (en) | Trusted ring | |
Carcia et al. | Blockchain-based system for e-voting using blind signature protocol | |
Chen et al. | FSMFA: Efficient firmware-secure multi-factor authentication protocol for IoT devices | |
Hussain et al. | An efficient and reliable user access protocol for Internet of Drones | |
Resende et al. | PUF-based mutual multifactor entity and transaction authentication for secure banking | |
Liou et al. | T-auth: A novel authentication mechanism for the IoT based on smart contracts and PUFs | |
Gangwani et al. | IoT Device Identity Management and Blockchain for Security and Data Integrity | |
CN113630255B (zh) | 基于sram puf的轻量级双向认证方法及系统 | |
Yang et al. | A Hybrid Blockchain-Based Authentication Scheme for Smart Home |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |