CN115134137B - 一种数据传输方法、装置、计算机可读存储介质和设备 - Google Patents
一种数据传输方法、装置、计算机可读存储介质和设备 Download PDFInfo
- Publication number
- CN115134137B CN115134137B CN202210725562.7A CN202210725562A CN115134137B CN 115134137 B CN115134137 B CN 115134137B CN 202210725562 A CN202210725562 A CN 202210725562A CN 115134137 B CN115134137 B CN 115134137B
- Authority
- CN
- China
- Prior art keywords
- blockchain node
- error correction
- key
- sampling
- signal
- 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
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000005540 biological transmission Effects 0.000 title claims abstract description 42
- 238000012937 correction Methods 0.000 claims abstract description 141
- 238000005070 sampling Methods 0.000 claims abstract description 130
- 238000012545 processing Methods 0.000 claims abstract description 31
- 230000003071 parasitic effect Effects 0.000 claims description 41
- 238000004422 calculation algorithm Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000005856 abnormality Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000006872 improvement Effects 0.000 description 8
- 230000002159 abnormal effect Effects 0.000 description 4
- 239000003990 capacitor Substances 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 150000003071 polychlorinated biphenyls Chemical class 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/3247—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 involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本说明书公开了一种数据传输方法、装置、计算机可读存储介质和设备,在区块链节点上电启动时,通过对该区块链节点的控制电路中的电路信号进行采样,确定第一密钥特征,再基于该区块链节点首次启动时确定出的纠错参数,对该第一密钥特征进行纠错,将纠错结果作为密钥生成参数来确定私钥,最后根据私钥对待传输数据进行签名处理,将签名处理后的待传输数据发送至该区块链网络中的其他节点,由其他节点对待传输数据进行验证。本方法中区块链节点不存储私钥,而是在每次上电启动时根据自身控制电路中的电路信号来重新确定私钥,避免私钥被窃取情况的出现,保证了信息安全。
Description
技术领域
本说明书涉及计算机技术领域,尤其涉及一种数据传输方法、装置、计算机可读存储介质和设备。
背景技术
目前,随着互联网技术的发展和业务深入融合的需要,在网络中进行数据传输的需求在不断增加,而为了避免数据被其他人盗取或篡改,通常需要基于加密算法对数据进行加密进行传输。
一种常用的对数据进行传输的方法是基于线下设备存储的私钥实现的。线下设备通常会将私钥存储在磁盘、固态硬盘等非易失性存储器,并在需要传输数据时,用存储的私钥对数据进行加密,将加密后的数据进行传输。但由于线下设备所处环境复杂,非易失性存储器容易收到物理攻击,导致私钥泄露,使得线下设备的通信数据传输等业务的安全性难以保证。
发明内容
本说明书提供一种数据传输方法、装置、计算机可读存储介质和设备,以部分的解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供一种数据传输方法,应用于区块链网络中的区块链节点,所述区块链节点至少包含控制电路,各区块链节点中的控制电路之间存在差异,包括:
针对所述区块链网络中的每个区块链节点,当该区块链节点上电启动时,对所述控制电路的电路信号进行采样,确定该区块链节点的第一密钥特征;
根据已存储的纠错参数,对所述第一密钥特征进行纠错,得到纠错结果,其中,所述纠错参数为该区块链节点首次启动时基于采样的电路信号进行纠错计算确定的;
将所述纠错结果作为密钥生成参数,确定该区块链节点的私钥;
根据所述私钥对待传输数据进行签名处理,并将签名处理后的待传输数据发送至所述区块链网络中的其他节点,使所述其他节点基于该区块链节点首次启动时发送的公钥对所述待传输数据进行验证。
本说明书提供一种数据传输装置,应用于区块链网络中的区块链节点,所述区块链节点至少包含控制电路,各区块链节点中的控制电路之间存在差异,包括:
采样模块,用于针对所述区块链网络中的每个区块链节点,当该区块链节点上电启动时,对所述控制电路的电路信号进行采样,确定所该区块链节点的第一密钥特征;
纠错模块,用于根据已存储的纠错参数,对所述第一密钥特征进行纠错,得到纠错结果,其中,所述纠错参数为该区块链节点首次启动时基于采样的电路信号特征进行纠错计算确定的;
确定模块,用于将所述纠错结果作为密钥生成参数,确定该区块链节点的私钥;
传输模块,用于根据所述私钥对待传输数据进行签名处理,并将签名处理后的待传输数据发送至所述区块链网络中的其他节点,使所述其他节点基于该区块链节点首次启动时发送的公钥对所述待传输数据进行验证。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据传输方法。
本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述数据传输方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
在区块链节点上电启动时,通过对该区块链节点的控制电路中的电路信号进行采样,确定第一密钥特征,再基于该区块链节点首次启动时确定出的纠错参数,对该第一密钥特征进行纠错,将纠错结果作为密钥生成参数来确定私钥,最后根据私钥对待传输数据进行签名处理,将签名处理后的待传输数据发送至该区块链网络中的其他节点,由其他节点对待传输数据进行验证。
本方法中区块链节点不存储私钥,而是在每次上电启动时根据自身控制电路中的电路信号来重新确定私钥,避免私钥被窃取情况的出现,保证了信息安全。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附
图中:
图1为本说明书提供的数据传输方法的流程示意图;
图2为本说明书提供的数据传输方法的流程示意图;
图3为本说明书提供的数据传输装置;
图4为本说明书提供的对应于图1的电子设备示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
一般的,针对区块链网络中的每个区块链节点,该节点中通常存储有第三方为该节点分配的私钥。在该区块链节点想要进行数据传输,即,将数据传输至其他区块链节点,并由其他区块链节点对数据进行验证时,通常会使用存储在非易失性存储器中的私钥,对待传输数据进行加密,并将加密后的待传输数据传输至其他区块链节点。由接收到该待传输数据的节点从自身存储的各公钥中,查询该待传输数据对应的公钥,并基于查询出的公钥对该待传输数据进行验证。
其中,该区块链节点,可为区块链网络中的服务器,也可为连接区块链网络或区块链节点的线下设备,如,物联网设备、智能家居设备、智能穿戴设备等。
但是,由于线下设备通常放置在较为复杂的环境中。在该环境中,该线下设备易于被物理攻击,进而导致私钥被窃取的情况出现。如,攻击者采用在线下设备的硬件电路中外挂记录模块,通过记录模块来记录线下设备中存储的数据的手段,或采用将线下设备进行拆解,再基于拆解结果中的该线下设备存储私钥的非易失性存储器的手段,来获取线下设备对应的私钥。以及在确定出私钥后,使用该私钥将不可信数据进行加密,并发送至其他线下设备或服务器中,使得其他线下设备或服务器基于线下设备的私钥将不可信数据进行共识并存储,导致线下设备的通信数据传输等业务的安全性难以得到保证。
基于此,本说明书提供一种新的数据传输方法,不在非易失性存储器中存储私钥,而是当区块链节点每次上电时,通过对自身控制电路中的电路信号进行采样来复现私钥。避免攻击者通过读取线下设备中的非易失性存储器中的数据来获取私钥的情况出现,以及当攻击者外挂记录模块时,电路中的负载改变,电路信号改变,则无法复现私钥,以此来保证信息安全。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书提供的数据传输方法的流程示意图,具体包括以下步骤:
S100:针对所述区块链网络中的每个区块链节点,当该区块链节点上电启动时,对所述控制电路的电路信号进行采样,确定该区块链节点的第一密钥特征。
区别于目前区块链节点将私钥存储在非易失性存储器中,使得在攻击者容易通过硬件手段来窃取私钥,无法保证信息安全,本说明书提供了一种新的数据传输方法,由区块链节点每次上电后,对控制电路中的电路信号进行采样来复现私钥。该私钥不存储在非易失性存储器中,下电即丢,从而可以有效避免攻击者窃取区块链节点中的私钥、基于窃取的私钥克隆节点,进而保证数据传输的安全性。
在本说明书提供的一个或多个实施例中,该数据传输方法,由区块链网络中的区块链节点执行。该区块链节点为可连接区块链网路,并能在区块链网络中传输数据的设备,如,区块链网络中的服务器,连接区块链节点的线下设备等。
针对每个区块链节点,该区块链节点可包含控制电路。对于不同类型的区块链节点(如,服务器和智能穿戴设备,不同型号的智能穿戴设备等),其对应的控制电路所对应的电子元件和电路图之间往往是存在差异的。而对于相同类型的区块链节点(如,相同型号的智能穿戴设备),即使区块链节点中的控制电路对应于相同的电子元件和电路图,部署控制电路的电路板在制作、封装过程中的工艺偏差,会导致每块电路板之间存在差异,进而使得各区块链节点的控制电路之间都存在差异。也就是说,每个区块链节点中的控制电路之间存在差异,每个控制电路唯一且不可复制。其中,控制电路一般被部署在电路板中,如,印制电路板(Printed Circuit Board,PCB)、陶瓷电路板等。
基于此,在区块链节点上电时,可对控制电路中的电路信号进行采样。其中,该电路信号包含电压信号、电流信号中的至少一种。
具体的,在区块链节点上电启动时,该服务器可根据预设的采样信息,对控制电路中的电路信号进行采样。其中,该采样信息可包含采样位置、采样时刻、采样数量等等。采样位置可为控制电路中采样的具体点位,如,在包含100Ω电阻的支路采样,在包含100Ω电阻的支路中与该电阻相隔0.2mm的位置进行采样等等。采样时刻可为区块链节点上电后多久多进行采样,采样数量为采样结果包含的数量,当然,该采样信息具体包括那些类型的数据,以及包含的数据具体如何获取可根据需要进行设置,本说明书对此不做限制。
在获取到采样结果后,该区块链节点可基于采样结果,确定自身的第一密钥特征。
具体的,该区块链节点可将采样结果进行归一化。
然后,该区块链节点可根据确定出的归一化结果,以及预设的编码表,将归一化结果按照预设的编码表进行编码,确定编码结果。其中,该编码表为该区块链节点首次上电时确定出的。
最后,该区块链节点可将编码结果作为第一密钥特征。其中,该第一密钥特征可为按照各采样结果中各电路信号的采样顺序,将各采样结果的编码结果按行或按列组合成的方阵。以采样结果中包含两个电路信号,两个电路信号进行归一化后,按照预设编码表进行编码,得到的结果分别是A1和A2,则第一密钥特征可为[A1,A2]或具体如何基于编码结果确定第一密钥特征,可根据需要进行设置,本说明书对此不做限制。
进一步的,通常情况下,控制电路中的电流信号会受到区块链节点启动时,控制电路所需带动的负载的影响。如,同一个区块链节点中,该区块链第a次启动上电时仅需带动一个磁盘,第b次启动上电时需带动两个磁盘,则该区块链节点两次上电启动时控制电路所需带动的负载是不同的,两次启动时的电流信号之间存在区别。而区块链节点每次上电所带动的模块,通常可在该区块链节点中进行配置。如,在操作系统中配置开机启动项等。
基于此,若电路信号为电流信号,则该区块链节点可对自身配置的状态进行监测,当监测到自身配置改变时,将下次上电启动确定为自身首次上电启动。也就是说,若区块链节点中的配置进行改变,则可认为更改配置后的区块链节点为新的区块链节点,则该区块链节点下次上电启动为新的区块链节点首次上电启动。
S102:根据已存储的纠错参数,对所述第一密钥特征进行纠错,得到纠错结果,其中,所述纠错参数为该区块链节点首次启动时基于采样的电路信号特征进行纠错计算确定的。
在本说明书提供的一个或多个实施例中,由于控制电路中的电路信号具有随机性,因此,区块链节点每次上电时,采集的电路信号之间都存在差异,这就确定出的第一密钥特征之间存在差异。而为了避免由于第一密钥特征之间的差异,导致基于第一密钥特征重新确定出的私钥和该区块链节点首次上电时确定出的私钥存在差异,在确定出第一密钥特征之后,该区块链节点可对第一密钥特征进行纠错。
基于此,该区块链节点可根据已存储的纠错参数,对第一密钥特征进行纠错,得到纠错结果。其中,该纠错参数为区块链节点首次启动时基于采样的电路信号确定的。
具体的,以该纠错参数为二维奇偶监督码中的行监督码元和列监督码元为例,该区块链节点可根据预设的变换规则,将第一密钥特征变换为第一密钥矩阵。
然后,该区块链节点可根据行监督码元和列监督码元,确定该第一密钥矩阵中存在的错误码元,并将错误码元进行纠错。
最后,在对各错误码元进行纠错后,该区块链节点可将纠错后的第一密钥矩阵,作为纠错结果。
当然,上述纠错参数还可为该区块链节点首次上电时,根据预设的纠错算法确定出的。该纠错算法可为汉明编码、循环冗余校验编码等等多种编码算法,具体如何基于编码算法对码元进行纠错,并基于纠错结果确定后续用于校验确定出的数据与原始数据之间的差距,并对错误数据进行纠正的纠错参数,已经是目前较为成熟的技术了,本说明书对此不做限制。
进一步的,如前所述的,控制电路中的电路信号具有随机性,因而区块链节点每次上电时确定出的第一密钥特征之间存在差异。这也就使得在区块链节点每次在根据纠错参数对第一密钥特征进行纠错时,其对应的纠错记录之间存在差异。也就是说,区块链节点每次确定密钥时的纠错记录应当是不一致的。则该区块链节点还可基于纠错记录来判断密钥是否被窃取。
具体的,该区块链节点可将上述根据已存储的纠错参数对第一密钥特征进行纠错时的纠错记录,确定为第一记录。
然后,该区块链节点可将该第一记录和已存储的各历史纠错记录进行匹配。其中,该历史纠错记录为该区块链节点历史上确定私钥时的纠错记录。
若该第一记录和任一历史纠错记录相同,即,区块链节点本次确定私钥时的纠错记录,与历史上该区块链节点确定私钥时的历史纠错记录相同,可能存在攻击者窃取区块链节点中存储的历史纠错记录,并妄图在区块链节点本次上电时,根据历史纠错记录重新确定出与该区块链节点首次上电时确定出的私钥一致的私钥。则该区块链节点可确定第一密钥特征错误,并发送用于提示该区块链节点出现异常的预警信息。
若该第一记录和各历史纠错记录均不相同,则可确定该第一记录对应的私钥的确定过程正常,则该区块链节点可将该第一记录作为历史纠错记录进行存储。
当然,当区块链节点的启动次数较多时,历史纠错记录也较多,在此场景中,第一记录与该区块链节点中已存储的某一历史纠错记录相同的情况出现的概率可能会增大,为了避免区块链节点将上述情况错判为区块链节点异常的情况的出现。该区块链节点可仅将自身上次启动时确定的纠错记录作为历史纠错记录进行存储,或仅将该区块链节点首次上电启动时确定的纠错记录作为历史纠错记录进行存储,亦或是从历史纠错记录中,选择指定数量的历史纠错记录和该第一记录进行匹配。
具体该历史纠错记录包含的纠错记录的数量,以及将何种纠错记录作为历史纠错记录进行存储,可根据需要进行设置,本说明书对此不做限制。
S104:将所述纠错结果作为密钥生成参数,确定该区块链节点的私钥。
在本说明书提供的一个或多个实施例中,如前所述的,本说明书提供的该数据传输方法,旨在区块链节点上电启动时,通过对控制电路中电路信号的采样,通过采样结果复现私钥。于是,在确定出第一密钥特征的纠错结果后,该区块链节点可将该纠错结果作为密钥生成参数,来重新确定该区块链节点的私钥,
具体的,该区块链节点可直接将该纠错结果作为密钥生成参数,并根据预设的非对称加密算法,确定该密钥生成参数对应的公私钥对,将该公私钥对中的私钥作为重新确定出的区块链节点的私钥。其中,该非对称加密算法和该区块链节点首次上电启动时采用的非对称加密算法为相同算法。
当然,该区块链节点还可通过哈希算法,确定该第一密钥特征的纠错结果对应的随机字符串,并将该随机字符串作为密钥生成参数。且在基于密钥生成参数重新确定私钥时,可仅确定出私钥,而不确定公私钥对。具体如何确定密钥生成参数,以及如何基于密钥生成参数确定私钥,可根据需要进行设置,本说明书对此不做限制。
另外,该区块链节点还可直接将第一密钥特征的纠错结果作为该区块链节点的私钥,或将该第一密钥特征的纠错结果对应的反码、补码、10进制码、16进制码等中的任意一种编码作为该区块链节点的私钥。也就是说,该区块链节点可直接基于纠错结果确定私钥。具体如何基于纠错结果确定区块链节点的私钥可根据需要进行设置,保持与该区块链节点首次上电启动时确定私钥时所采用的手段,以保证可将私钥复现即可,本说明书对此不做限制,可根据需要进行设置。
S106:根据所述私钥对待传输数据进行签名处理,并将签名处理后的待传输数据发送至所述区块链网络中的其他节点,使所述其他节点基于该区块链节点首次启动时发送的公钥对所述待传输数据进行验证。
在本说明书提供的一个或多个实施例中,在区块链网络中,为了保证信息安全,以及信息来源的可信度,在进行数据传输时,区块链节点通常需要对待传输数据进行签名处理,以使接收到该待传输数据的其他节点基于该区块链节点的公钥对该待传输数据进行验证,以确保该待传输数据来源于该区块链节点。
基于此,该区块链节点可根据私钥对待传输数据进行签名处理。其中,待传输数据为该区块链节点向区块链网络中其他节点发送的,需要其他节点进行存储或者共识的数据。
具体的,该区块链节点可使用步骤S106中确定出的私钥,对待传输数据进行签名处理。
然后,该区块链节点可将签名处理后的待传输数据发送至该区块链网络中的其他节点。
最后,其他节点在接收到该待传输数据后,可从自身存储的各公钥中,查询该待传输数据对应的公钥,并使用该公钥对签名处理后的待传输数据进行验证。
当验证通过时,其他节点还可将该待传输数据进行存储或共识。
其中,基于私钥对待传输数据进行签名处理已经是目前较为成熟的技术了,本说明书对此不再赘述。
基于图1所示的数据传输方法,在区块链节点上电启动时,通过对该区块链节点的控制电路中的电路信号进行采样,确定第一密钥特征,再基于该区块链节点首次启动时确定出的纠错参数,对该第一密钥特征进行纠错,将纠错结果作为密钥生成参数来确定私钥,最后根据私钥对待传输数据进行签名处理,将签名处理后的待传输数据发送至该区块链网络中的其他节点,由其他节点对待传输数据进行验证。本方法中区块链节点不存储私钥,而是在每次上电启动时根据自身控制电路中的电路信号来重新确定私钥,避免私钥被窃取情况的出现,保证了信息安全。
进一步的,为了保证基于纠错参数确定出的第一密钥特征可重新确定出准确的私钥,即,确定出与该区块链节点首次上电启动时确定的私钥一致的私钥,则在区块链首次上电启动时,需确定纠错参数并存储。
具体的,当该区块链节点首次上电启动时,可根据预设的采样信息,对控制电路中的电路信号进行采样,并在获取到该采样结果后,基于采样结果,确定自身的第二密钥特征。
然后,该区块链可基于确定出的第二密钥特征,通过预设的纠错算法,对第二密钥特征进行纠错。
最后,该区块链可确定对该第二密钥特征的纠错结果,以及该纠错结果对应的纠错参数,并将纠错参数进行存储。
其中,该纠错算法可为汉明编码、循环冗余校验编码、二维奇偶监督编码等等多种编码算法,当纠错算法为循环冗余校验编码时,该纠错参数可为对应的冗余码,该纠错算法为二维奇偶监督码时,该纠错参数可为对应的行监督码元和列监督码元。具体如何基于编码算法对码元进行纠错,并基于纠错结果确定后续用于纠正的纠错参数,已经是目前较为成熟的技术了,本说明书对此不做限制。
当然,在该区块链节点首次上电启动时,还可对控制电路中的电路信号进行随机采样,并将采样时的采样位置、采样时刻、采样时顺序等,作为采样信息进行记录,仅使该区块链节点在后续进行采样时,可基于记录的采样信息对电路信号进行采样,来尽可能保证确定出的第一密钥特征和第二密钥特征的一致。
更进一步的,为了保证区块链网络中的其他节点可对该待传输数据进行验证,在执行步骤S106前,该区块链节点需完成身份注册,即,将自身公钥发送至该区块链网络中的其他节点,并由其他节点将该公钥进行存储。而身份注册的过程,通常需要在该区块链节点首次上电启动时完成。
具体的,当该区块链节点首次上电时,该该区块链节点可将第二密钥特征的纠错结果作为密钥生成参数,通过预设的非对称加密算法,生成该区块链节点的公私钥对。
其中,该区块链节点还可通过哈希算法,确定该第二密钥特征的纠错结果对应的随机字符串,并将该随机字符串作为密钥生成参数,再基于密钥生成参数生成公私钥对。
当然,该区块链节点还可直接将第二密钥特征的纠错结果作为该区块链节点的私钥,亦或是将该第二密钥特征的纠错结果对应的反码、补码、10进制码、16进制码等中的任意一种编码作为该区块链节点的私钥,再基于私钥确定该区块链节点的公钥。具体如何基于第二密钥特征的纠错结果确定该区块链节点的公私钥对,可根据需要进行设置,在后续确定该区块链节点的私钥时,使用与该区块链节点首次上电启动时确定私钥时相同手段,以保证可将私钥复现即可,本说明书对此不做限制,可根据需要进行设置。
然后,该区块链节点可向该区块链网络中的其他节点发送携带该区块链节点的身份标识和该公私钥对中的公钥的注册请求。
其他节点在接收到该注册请求后,可基于该注册请求中的身份标识,判断该区块链节点是否属于区块链网络。其中,针对区块链网络中的每个区块链节点,该区块链中可存储有该区块链网络中其他节点的节点标识。
若属于,则该区块链网络中的其他节点可对该公钥进行共识,并当共识通过后将该区块链节点的公钥进行存储。
若否,或对该公钥公式共识失败,则该区块链网络中的其他节点可认为该注册请求对应的区块链节点发送错误,或为异常节点,则该其他节点可将该注册请求丢弃,或发送用于表征该区块链节点存在异常的异常信息。
在本说明书提供的一个或多个实施例中,本说明书提供的该数据传输方法,可应用于区块链网络具体为联盟链网络的场景中,在该场景中,针对区块链网络中的每个区块链节点,该区块链中可存储有该区块链网络中其他节点的节点标识。
需要说明的是,本说明书中的私钥不进行存储,而是在区块链节点每次上电启动时重新生成,但由于私钥是基于该区块链节点特有的控制电路的电路信号,以及该区块链节点首次上电时生成的纠错参数生成的,事实上每次生成的私钥是相同的。因此,其他节点可以采用身份注册时获取的公钥对该区块链节点发送的待传输数据进行验证。
当然,为了避免由于噪声过大等原因,导致区块链节点上电启动时生成的私钥和该区块链节点首次上电启动时生成的私钥存在差异,进而导致区块链节点中的数据无法进行传输的情况出现,该区块链节点在每次上电启动时,都可基于本次启动时控制电路的电路特征,生成对应的公私钥对,并基于生成的公钥在该区块链网络中进行注册。也就是说,区块链节点每次上电时,生成不同的公私钥对,并基于公钥进行注册。
另外,在对控制电路中的电路信号进行采集时,相较于电流信号,电压信号的传输速度更快且更加稳定。在区块链节点启动后,能快速采样到电压信号,且采样到的电压信号不会因为区块链节点在上电启动时的负载/配置的影响而发生大幅度变化。因此,在对电路信号进行采样时,一般可对电压信号进行采样。下述以对电压信号进行采样为例进行说明。
进一步的,当区块链节点上电启动后,该区块链节点中的控制电路会产生寄生电容,而针对每个区块链节点,该区块链节点的控制电路产生的寄生电容之间存在差异。这就使得在该区块链节点上电启动后,控制电路产生随机电压信号,寄生电容发生负反射时对于该随机电压信号产生的反射信号与其他区块链节点中的由于寄生电容发生负反射产生的反射信号在幅度、频率等多方面存在差距。反映在整个控制电路中,即,每个区块链节点的控制电路中的电压信号在幅度、频率等多方面都存在差距。基于此,还可基于寄生电容的电容特征来对电压信号进行采样。
具体的,当区块链节点上电启动后,该区块链节点可确定该控制电路中产生了寄生电容。
然后,该区块链节点可在该控制电路的电压稳定前,对包含该寄生电容的控制电路中的电压信号进行采样,以采样到可用于表征该寄生电容的电容特征的电压信号。其中,该电容特征可为信号反射的幅度、频率、电容的容值等等。
当然,采样得到的电压信号,可包含有控制电路产生的随机电压信号以及该寄生电容发生负反射时候产生的对于随机电压信号的反射信号,也可仅包含该寄生电容产生的反射信号,具体采样得到的电压信号的类型,可根据需要进行设置,本说明书对此不做限制。
更进一步的,寄生电容带来的信号反射通常可表现为信号过冲、信号下冲等情况。也就是说,获取下冲值或者过冲值,即可确定出寄生电容的电容特征。因此,该区块链节点还可对包含寄生电容的控制电路中的电压信号进行监测,当根据监测结果确定出的电压变化趋势为信号下冲或信号过程时,将信号下冲值或信号过冲值作为可用于表征寄生电容的电容特征的电压信号进行记录。
另外,为了提高编码效率,在步骤S100中,还可使用差值编码来确定第一密钥特征。
具体的,该区块链节点可根据采样得到的各电压信号以及各电压信号的采样顺序,确定第一采样序列。
其中,该采样顺序可为根据采样时间确定的,也可为根据采样位置确定的,如,确定各电压信号的采样时间,并根据采样时间对各电压信号进行排序,将排序结果作为各电压信号的采样顺序,或确定各电压信号的采样位置,确定各采样位置与预设位点之间的距离,并根据各距离将各把电压信号进行排序,将排序结果作为各电压信号的采样顺序。具体如何确定采样顺序可根据需要进行设置,本说明书对此不做限制。
然后,该区块链节点可确定该第一采样序列中的各电压信号的均值,作为第一平均电压。
最后,该区块链节点可对该第一采样序列中各电压信号和该第一平均电压的差值分别进行编码,并将该第一采样序列中各电压信号对应的编码结果进行拼接,得到第一密钥特征。
其中,在对各差值进行编码时,可根据预设的编码算法,也可根据预设的编码表。具体如何对各差值进行编码可根据需要进行设置,本说明书对此不做限制。
当然,该区块链节点还可针对第一采样序列中的每个电压信号,将该电压信号和该电压信号的前一电压信号的差值进行编码,并将各电压信号的编码结果作为区块链节点的第一密钥特征。
进一步的,在该区块链首次上电启动时,也可使用差值编码来确定第二密钥特征。
具体的,该区块链节点可根据采样得到的各电压信号以及各电压信号的采样顺序,确定第二采样序列。
其中,该采样顺序与上述确定第一采样序列时的采样顺序类似,可为根据采样时间确定,也可为根据采样位置确定,具体如何确定采样顺序可根据需要进行设置,本说明书对此不做限制。
然后,该区块链节点可确定该第二采样序列中的各电压信号的均值,作为第二平均电压。
最后,该区块链节点可将第二采样序列中各电压信号和第二平均电压的差值分别进行编码,并将该第二采样序列中各电压信号对应的编码结果进行拼接,得到区块链节点的第二密钥特征。
同样的,在对各差值进行编码时,可根据预设的编码算法,也可根据预设的编码表。具体如何对各差值进行编码可根据需要进行设置,本说明书对此不做限制。
当然,该区块链节点还可根据编码表,针对第二采样序列中的每个电压信号,将该电压信号和该电压信号的前一电压信号的差值进行编码,并将各电压信号的编码结果作为区块链节点的第二密钥特征。
更进一步的,不同区块链节点的控制电路中的电压信号存在差别,而对于不同电压信号使用相同的编码表,可能会导致确定编码时信息损失较大的情况出现。假设编码表中,电压信号差值为1对应的编码值为0001,差值为2对应的编码值为0010。区块链节点A中采样的电压值之间的差值为0.7和1.2,区块链节点B中采样的电压值之间的差值为0.9和2。则区块链节点A对应的编码结果为00010001,区块链节点B对应的编码结果为00010010。显然,区块链节点A在进行编码时,信息损失较多。
而为了避免上述情况的出现,在区块链节点首次启动时,还可基于采样得到的电压信号确定编码表。
具体的,该区块链节点可针对第二采样序列中的每个电压信号,确定该电压信号和该电压信号的前一电压信号的差值,并根据差值确定编码表。具体如何基于差值确定对应的编码表可根据需要进行设置,本说明书对此不做限制。
另外,在区块链节点上电启动后,该区块链节点的控制电路中产生的寄生电容对于电流信号也会产生影响,这就使得在该区块链节点上电启动后,控制电路产生随机电流信号,寄生电容发生负反射时对于该随机电流信号产生的反射信号与其他区块链节点中由于寄生电容发生负反射时产生的反射信号在幅度、频率等多方面存在差距。反映在整个控制电路中,即,每个区块链节点的控制电路中的电流信号在幅度、频率等多方面存在差距。基于此,还可基于寄生电容的电容特征来对电流信号进行采样。
具体的,当区块链节点上电启动后,该区块链节点可确定该控制电路中产生了寄生电容。
然后,该区块链节点可在该控制电路的电流稳定前,对包含该寄生电容的控制电路中的电流信号进行采样,以采样到可用于表征该寄生电容的电容特征的电流信号。其中,该电容特征可为信号反射的幅度、频率、电容的容值等等。
其中,采样得到的电流信号,可包含有控制电路产生的随机电流信号以及该寄生电容发生负反射时候产生的对于随机电流信号的反射信号,也可仅包含该寄生电容产生的反射信号,具体采样得到的电流信号的类型,可根据需要进行设置,本说明书对此不做限制。
当然,区块链节点在执行不同业务时,控制电路中所需带动的负载不同,因而会导致电流信号在区块链节点上电启动后较长时间才能稳定,使得采样效率较低。为了避免上述情况的发生,该区块链节点还可在控制电路的电压稳定前,对控制电路中的电流信号进行采样。具体如何对控制电路中的电路信号进行采样,可根据需要进行设置,本说明书对此不做限制。
进一步的,在对电流信号进行采样时,该区块链节点同样可对控制电路中的电流信号进行监测,当根据监测结果确定出的电流变化趋势为信号下冲或信号过程时,将信号下冲值或信号过冲值作为可用于表征寄生电容的电容特征的电流信号进行记录。
更进一步的,该区块链还可基于采样得到的电流值,使用差值编码来确定第一密钥特征。
具体的,该区块链节点可根据采样得到的各电流信号以及各电流信号的采样顺序,确定第三采样序列。
然后,该区块链节点可确定该第三采样序列中的各电流信号的均值,作为第三平均电流。
最后,该区块链节点可对该第三采样序列中各电流信号和该第三平均电流的差值分别进行编码,并将该第三采样序列中各电流信号对应的编码结果进行拼接,得到第一密钥特征。
其中,在对各差值进行编码时,可根据预设的编码算法,也可根据预设的编码表。具体如何对各差值进行编码可根据需要进行设置,本说明书对此不做限制。
当然,该区块链节点还针对第三采样序列中的每个电流信号,将该电流信号和该电流信号的前一电流信号之间的差值进行编码,并将各差值的编码结果作为区块链节点的第一密钥特征。
另外,在该区块链节点首次上电启动时,同样可使用基于电流信号来确定第二密钥特征。
具体的,该区块链节点可根据采样得到的各电流信号以及各电流信号的采样顺序,确定第四采样序列。
然后,该区块链节点可确定该第四采样序列中的各电流信号的均值,作为第四平均电流。
最后,该区块链节点可将第四采样序列中各电流信号和第四平均电流的差值分别进行编码,并将该第四采样序列中各电流信号分别对应的编码结果进行拼接,得到区块链节点的第二密钥特征。
其中,该确定第三采样序列和第四采样序列时的采样顺序与上述确定第一采样序列和第二时的采样顺序类似,可为根据采样时间确定,也可为根据采样位置确定,具体如何确定采样顺序可根据需要进行设置,本说明书对此不做限制。在对各差值进行编码时,可根据预设的编码算法,也可根据预设的编码表。具体如何对各差值进行编码可根据需要进行设置,本说明书对此不做限制。
当然,该区块链节点还可针对第四采样序列中的每个电流信号,将该电流信号和该电流信号的前一电流信号之间的差值进行编码,并将各差值的编码结果作为区块链节点的第二密钥特征。
进一步的,在区块链节点首次启动时,还可基于采样得到的电流信号确定编码表。
具体的,该区块链节点可针对第四采样序列中的每个电流信号,确定该电流信号和该电流信号的前一电流信号之间的差值,并根据差值确定编码表。
具体如何基于差值确定对应的编码表可根据需要进行设置,本说明书对此不做限制。
更进一步的,为了进一步保证确定出的私钥的安全性,在对控制电路中的电路信号进行采集时,还可对电流信号和电压信号分别进行采集,以此确定出可用于表征寄生电容的电容特征的电压信号和电流信号,进而基于该电流信号和电压信号来确定私钥,来加大私钥在复现阶段的复杂度,以此增大攻击者通过外挂模块来获取私钥时,区块链节点确定出的私钥和该区块链节点首次上电时确定出的私钥之间的差距,来保证信息安全。
另外,本说明书中的区块链节点,可为采用了PCB板的物联网设备,该区块链节点中的控制电路,至少包括设置在该PCB板上的传感电路,且该传感电路在通电状态下会产生寄生电路。则在该区块链节点上电启动时,可对该传感电路中的电路信号进行采集,来确定第一密钥特征。并基于该第一密钥特征来重新确定该区块链节点的私钥,来完成数据传输。
其中,该传感电路为该区块链节点中的I/O总线和传感器所组成的电路,该传感电路中还可包含独立的电容元件。
另外,该待传输数据还可为智能合约。则在步骤S106中,该区块链可基于自身私钥,对智能合约进行签名,并将签名后的只能合约发送至该区块链网络中的其他节点。其中,该其他节点可为该智能合约的合约签署方,也可为该区块链网络中除各合约签署方以外的其他节点。
基于同样思路,本说明书还提供一种数据传输方法的流程示意图,如图2所示。
图2为本说明书提供的数据传输方法的流程示意图,区块链节点上电启动后,可对控制电路中的电路信号进行采样,并根据采样结果确定第一密钥特征,然后,该区块链节点可根据已存储的纠错参数,对第一密钥特征进行纠错,确定纠错结果,并将纠错结果作为密钥生成参数,生成该区块链节点的私钥,进而使用该私钥对待传输数据进行签名处理,得到签名处理后的待传输数据。
基于同样思路,本说明书还提供一种数据传输装置,如图3所示。
图3为本说明书提供的数据传输装置,应用于区块链网络中的区块链节点,所述区块链节点至少包含控制电路,各区块链节点中的控制电路之间存在差异,包括:
采样模块200,用于针对所述区块链网络中的每个区块链节点,当该区块链节点上电启动时,对所述控制电路的电路信号进行采样,确定该区块链节点的第一密钥特征。
纠错模块202,用于根据已存储的纠错参数,对所述第一密钥特征进行纠错,得到纠错结果,其中,所述纠错参数为该区块链节点首次启动时基于采样的电路信号进行纠错计算确定的。
确定模块204,用于将所述纠错结果作为密钥生成参数,确定该区块链节点的私钥。
传输模块206,用于根据所述私钥对待传输数据进行签名处理,并将签名处理后的待传输数据发送至所述区块链网络中的其他节点,使所述其他节点基于该区块链节点首次启动时发送的公钥对所述待传输数据进行验证。
可选的,所述确定模块204,用于确定根据所述纠错参数对所述第一密钥特征进行纠错时的纠错记录,作为第一记录,将所述第一记录和该区块链节点中已存储的各历史纠错记录进行匹配,若所述第一记录与任一历史纠错记录相同,发送用于提示该区块链节点出现异常的预警信息。
可选的,所述纠错模块202,用于当该区块链节点首次上电启动时,对所述控制电路的电路信号进行采样,确定该区块链节点的第二密钥特征,根据预设的纠错算法,对所述第二密钥特征进行纠错处理,确定纠错结果,根据对所述第二密钥特征进行纠错确定的纠错结果,生成纠错参数,并存储。
可选的,所述传输模块206,用于根据对所述第二密钥特征进行纠错确定的纠错结果,生成该区块链节点的公私钥对,向所述区块链网络中的其他节点发送携带该区块链节点的身份标识和所述公私钥对中的公钥的注册请求,使所述其他节点在对所述身份标识的验证通过后对所述公钥进行共识,并在共识通过后存储该区块链节点的公钥。
可选的,所述电路信号至少包括电压信号,所述采样模块200,用于当该区块链节点上电启动时,确定所述控制电路中产生寄生电容,在所述控制电路的电压稳定前,对包含所述寄生电容的所述控制电路中的电压信号进行采样,以采集到用于表征所述寄生电容的电容特征的电压信号,其中,不同区块链节点的控制电路产生的寄生电容存在差异,所述电压信号包含所述控制电路产生的随机电压信号,以及所述寄生电容发生负反射时产生的对于所述随机电压信号的反射信号。
可选的,所述采样模块200,用于对所述控制电路中的电压信号进行监测,当根据监测结果确定出的电压变化趋势为信号下冲时,将信号下冲值作为用于表征所述寄生电容的电容特征的电压信号进行记录。
可选的,所述区块链节点为采用了PCB板的物联网设备;所述控制电路包括设置于所述PCB板上的传感电路;所述寄生电容为所述传感电路产生。
可选的,所述采样模块200,用于根据采样得到的各电压信号以及所述各电压信号的采样顺序,确定第一采样序列,根据所述第一采样序列中的各电压信号,确定第一平均电压,并对所述第一采样序列中各电压信号和所述第一平均电压的差值分别进行编码,将所述第一采样序列中各电压信号对应的编码结果进行拼接得到第一密钥特征。
可选的,所述采样模块200,用于根据采样得到的各电压信号以及所述各电压信号的采样顺序,确定第二采样序列,根据所述第二采样序列中的各电压信号,确定第二平均电压,并对所述第二采样序列中各电压信号和所述第二平均电压的差值分别进行编码,将所述第二采样序列中各电压信号对应的编码结果进行拼接得到第二密钥特征。
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的数据传输方法。
本说明书还提供了图4所示的电子设备的示意结构图。如4所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的数据传输方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (12)
1.一种数据传输方法,应用于区块链网络中的区块链节点,所述区块链节点至少包含控制电路,各区块链节点中的控制电路之间存在差异,包括:
针对所述区块链网络中的每个区块链节点,当该区块链节点上电启动时,对所述控制电路的电路信号进行采样,确定该区块链节点的第一密钥特征,所述电路信号包括电压信号与电流信号中的至少一种;
根据已存储的纠错参数,对所述第一密钥特征进行纠错,得到纠错结果,其中,所述纠错参数为该区块链节点首次启动时基于采样的电路信号进行纠错计算确定的;
将所述纠错结果作为密钥生成参数,确定该区块链节点的私钥;
根据所述私钥对待传输数据进行签名处理,并将签名处理后的待传输数据发送至所述区块链网络中的其他节点,使所述其他节点基于该区块链节点首次启动时发送的公钥对所述待传输数据进行验证。
2.如权利要求1所述的方法,根据所述私钥对待传输数据进行加密前,所述方法还包括:
确定根据所述纠错参数对所述第一密钥特征进行纠错时的纠错记录,作为第一记录;
将所述第一记录和该区块链节点中已存储的各历史纠错记录进行匹配;
若所述第一记录与任一历史纠错记录相同,发送用于提示该区块链节点出现异常的预警信息。
3.如权利要求1所述的方法,所述方法还包括:
当该区块链节点首次上电启动时,对所述控制电路的电路信号进行采样,确定该区块链节点的第二密钥特征;
根据预设的纠错算法,对所述第二密钥特征进行纠错处理,确定纠错结果;
根据对所述第二密钥特征进行纠错确定的纠错结果,生成纠错参数,并存储。
4.如权利要求3所述的方法,所述方法还包括:
根据对所述第二密钥特征进行纠错确定的纠错结果,生成该区块链节点的公私钥对;
向所述区块链网络中的其他节点发送携带该区块链节点的身份标识和所述公私钥对中的公钥的注册请求,使所述其他节点在对所述身份标识的验证通过后对所述公钥进行共识,并在共识通过后存储该区块链节点的公钥。
5.如权利要求1或3所述的方法,所述电路信号至少包括电压信号;
对所述控制电路的电路信号进行采样,具体包括:
当该区块链节点上电启动时,确定所述控制电路中产生寄生电容;
在所述控制电路的电压稳定前,对包含所述寄生电容的所述控制电路中的电压信号进行采样,以采集到用于表征所述寄生电容的电容特征的电压信号,其中,不同区块链节点的控制电路产生的寄生电容存在差异,所述电压信号包含所述控制电路产生的随机电压信号,以及所述寄生电容发生负反射时产生的对于所述随机电压信号的反射信号。
6.如权利要求5所述的方法,对包含所述寄生电容的所述控制电路中的电压信号进行采样,具体包括:
对所述控制电路中的电压信号进行监测,当根据监测结果确定出的电压变化趋势为信号下冲时,将信号下冲值作为用于表征所述寄生电容的电容特征的电压信号进行记录。
7.如权利要求6所述的方法,所述区块链节点为采用了PCB板的物联网设备;所述控制电路包括设置于所述PCB板上的传感电路;所述寄生电容为所述传感电路产生。
8.如权利要求5所述的方法,确定该区块链节点的第一密钥特征,具体包括:
根据采样得到的各电压信号以及所述各电压信号的采样顺序,确定第一采样序列;
根据所述第一采样序列中的各电压信号,确定第一平均电压,并对所述第一采样序列中各电压信号和所述第一平均电压的差值分别进行编码;
将所述第一采样序列中各电压信号对应的编码结果进行拼接得到第一密钥特征。
9.如权利要求5所述的方法,确定该区块链节点的第二密钥特征,具体包括:
根据采样得到的各电压信号以及所述各电压信号的采样顺序,确定第二采样序列;
根据所述第二采样序列中的各电压信号,确定第二平均电压,并对所述第二采样序列中各电压信号和所述第二平均电压的差值分别进行编码;
将所述第二采样序列中各电压信号对应的编码结果进行拼接得到第二密钥特征。
10.一种数据传输装置,应用于区块链网络中的区块链节点,所述区块链节点至少包含控制电路,各区块链节点中的控制电路之间存在差异,包括:
采样模块,用于针对所述区块链网络中的每个区块链节点,当该区块链节点上电启动时,对所述控制电路的电路信号进行采样,确定所该区块链节点的第一密钥特征,所述电路信号包括电压信号与电流信号中的至少一种;
纠错模块,用于根据已存储的纠错参数,对所述第一密钥特征进行纠错,得到纠错结果,其中,所述纠错参数为该区块链节点首次启动时基于采样的电路信号特征进行纠错计算确定的;
确定模块,用于将所述纠错结果作为密钥生成参数,确定该区块链节点的私钥;
传输模块,用于根据所述私钥对待传输数据进行签名处理,并将签名处理后的待传输数据发送至所述区块链网络中的其他节点,使所述其他节点基于该区块链节点首次启动时发送的公钥对所述待传输数据进行验证。
11.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~9任一项所述的方法。
12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述权利要求1~9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210725562.7A CN115134137B (zh) | 2022-06-23 | 2022-06-23 | 一种数据传输方法、装置、计算机可读存储介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210725562.7A CN115134137B (zh) | 2022-06-23 | 2022-06-23 | 一种数据传输方法、装置、计算机可读存储介质和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115134137A CN115134137A (zh) | 2022-09-30 |
CN115134137B true CN115134137B (zh) | 2024-02-09 |
Family
ID=83380475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210725562.7A Active CN115134137B (zh) | 2022-06-23 | 2022-06-23 | 一种数据传输方法、装置、计算机可读存储介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115134137B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102361480A (zh) * | 2011-06-29 | 2012-02-22 | 武汉理工大学 | 应用于智能电网数据传输安全的数字水印方法 |
US10200196B1 (en) * | 2018-04-25 | 2019-02-05 | Blockchain Asics Llc | Cryptographic ASIC with autonomous onboard permanent storage |
CN111461720A (zh) * | 2020-04-15 | 2020-07-28 | Oppo广东移动通信有限公司 | 基于区块链的身份验证方法、装置、存储介质及电子设备 |
CN113239337A (zh) * | 2021-07-01 | 2021-08-10 | 黄曦 | 一种基于区块链的金融数据安全管理系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070255966A1 (en) * | 2006-05-01 | 2007-11-01 | Vincenzo Condorelli | Cryptographic circuit with voltage-based tamper detection and response circuitry |
US10572651B2 (en) * | 2016-02-16 | 2020-02-25 | Samsung Electronics Co., Ltd. | Key generating method and apparatus using characteristic of memory |
-
2022
- 2022-06-23 CN CN202210725562.7A patent/CN115134137B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102361480A (zh) * | 2011-06-29 | 2012-02-22 | 武汉理工大学 | 应用于智能电网数据传输安全的数字水印方法 |
US10200196B1 (en) * | 2018-04-25 | 2019-02-05 | Blockchain Asics Llc | Cryptographic ASIC with autonomous onboard permanent storage |
CN111461720A (zh) * | 2020-04-15 | 2020-07-28 | Oppo广东移动通信有限公司 | 基于区块链的身份验证方法、装置、存储介质及电子设备 |
CN113239337A (zh) * | 2021-07-01 | 2021-08-10 | 黄曦 | 一种基于区块链的金融数据安全管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115134137A (zh) | 2022-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102272117B1 (ko) | 블록체인 기반 데이터 프로세싱 방법 및 디바이스 | |
KR102325738B1 (ko) | 인증 방법 및 블록체인 기반의 인증 데이터 처리 방법 및 디바이스 | |
US10769309B2 (en) | Apparatus and method for generating identification key | |
KR102594031B1 (ko) | 키 계층 구조 시행을 위한 암호화 asic | |
JP6804668B2 (ja) | ブロックデータ検証方法および装置 | |
CN110795501A (zh) | 基于区块链的可验证声明的创建方法、装置、设备及系统 | |
US8804954B2 (en) | Secure method for reconstructing a reference measurement of a confidential datum on the basis of a noisy measurement of this datum, notably for the generation of cryptographic keys | |
US20200265124A1 (en) | Blockchain-based image processing method and apparatus | |
CN110933117B (zh) | 数字身份信息的派生、验证方法、装置及设备 | |
US9838385B2 (en) | Password generation based on dynamic factors | |
CN111190974B (zh) | 可验证声明的转发、获取方法、装置及设备 | |
CN110995410A (zh) | 一种公钥和私钥的生成方法、装置、设备以及介质 | |
US11743058B2 (en) | NVDIMM security with physically unclonable functions | |
CN105812313A (zh) | 恢复会话的方法和服务器、生成会话凭证的方法和装置 | |
CN108616361B (zh) | 一种识别设备唯一性的方法及装置 | |
US11194978B2 (en) | Combined radio frequency identification (RFID)-based asset management and component authentication | |
US20210194870A1 (en) | Processing device with trust/untrust modes | |
US10032729B2 (en) | Apparatus and method for generating identification key | |
CN115134137B (zh) | 一种数据传输方法、装置、计算机可读存储介质和设备 | |
US20240031381A1 (en) | Systems and methods for facilitating detection of a security event associated with an iot device | |
CN111753270B (zh) | 应用程序登录验证方法、装置、设备和存储介质 | |
CN113452503B (zh) | 一种基于区块链的私钥找回方法、设备及介质 | |
CN112039971B (zh) | 数据记录方法及装置、数据存储方法及装置 | |
CN104660812A (zh) | 一种信息处理方法及电子设备 | |
US11863664B2 (en) | Method of performing key exchange for security operation in storage device and method of performing authority transfer in storage device using the same |
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 |