CN113660088A - 一种基于动态地址的区块链交易筛选方法 - Google Patents

一种基于动态地址的区块链交易筛选方法 Download PDF

Info

Publication number
CN113660088A
CN113660088A CN202110784614.3A CN202110784614A CN113660088A CN 113660088 A CN113660088 A CN 113660088A CN 202110784614 A CN202110784614 A CN 202110784614A CN 113660088 A CN113660088 A CN 113660088A
Authority
CN
China
Prior art keywords
address
block chain
special
transaction
addr
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.)
Pending
Application number
CN202110784614.3A
Other languages
English (en)
Inventor
祝烈煌
高峰
张子剑
曹昊天
刘邵元
袁祥博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN202110784614.3A priority Critical patent/CN113660088A/zh
Publication of CN113660088A publication Critical patent/CN113660088A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3242Cryptographic 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 cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Bioethics (AREA)
  • Power Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Databases & Information Systems (AREA)
  • Technology Law (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于动态地址的区块链交易筛选方法,属于区块链隐私保护技术领域。本方法生成的特殊地址与普通区块链地址具有算法层面的不可区分性,在没有秘钥的情况下,即使敌手掌握了地址生成协议,也无法区分特殊地址和普通地址。本方法无需遍历所有交易,接收方只需要对区块进行遍历,然后即可利用区块链系统自带的根据地址查询交易的API筛选出特殊交易。特殊地址的生成过程采用HMAC、ECDSA等密码技术,敌手要想破解特殊地址需要解决椭圆曲线难题,即预共享密钥的安全性和比特币私钥的安全性一致。本方法无需修改区块链底层协议,只需要调用区块链系统的API即可实现。

Description

一种基于动态地址的区块链交易筛选方法
技术领域
本发明涉及一种基于动态地址的区块链交易筛选方法,兼具隐蔽性和高效性,属于区块链隐私保护技术领域。
背景技术
区块链技术具有降低信任成本、提高交互效率的优势,具有广泛的应用前景。然而,区块链技术在走向实用的过程中,面临着隐私保护的严重挑战。由于区块链系统采用数据公开、透明存储的策略,任意节点都能够获取区块链系统上的全部数据,将不可避免的导致数据泄漏,危害用户隐私安全。例如,当区块链技术应用在支付领域时,攻击者通过分析全部的账本信息,能够依据支付习惯对所有用户进行分类标记,进行广告、欺诈等恶意活动。
区块链交易筛选机制与区块链隐私保护密切相关。在区块链系统中,所有用户的数据都无差别的存储在同一个账本中,为了使用户能够从海量账本数据中找到属于自己的交易数据,必须设计交易筛选机制。典型的方案是:采用区块链地址作为筛选交易的标签,发送方将接收方的区块链地址作为待发送区块链交易的输出地址,接收方通过遍历区块链账本中的每一条交易,找出输出地址中有自己的区块链地址的交易。这种方法简单高效,能够满足快速筛选交易的需求,但是面临着数据泄露的风险。由于区块链系统中所有链上数据都是公开透明的,攻击者可以根据每个区块链地址的交易特征进行身份画像,推测匿名地址背后的身份信息。
现有的区块链交易筛选机制不能有效保护用户隐私。为了避免采用固定区块链地址作为标签导致的身份特征聚集的问题,比特币开发者建议用户在使用比特币时采用“一次一密”的策略,即每个区块链地址只使用一次。这种方案要求用户频繁更换区块链地址,显著提高了秘钥保管(每一个区块链地址对应一个独立的秘钥)的负担,容易造成秘钥丢失问题。门罗币采用基于密码算法的混淆地址机制,能够在不增加用户秘钥管理负担的情况下实现“一次一密”策略,满足隐蔽性需求。但是,这种方法要求接收方对每个交易进行逐个计算检测,筛选效率较低。而且,这种方案需要对区块链系统的底层协议进行改进,无法适用在比特币、以太坊等典型区块链系统。
现有技术中,通常采用以下几种方式来改进区块链交易筛选的隐蔽性。
第一种方法为手动更换区块链地址。该方法采用区块链地址作为筛选交易的标签。在每次发送交易之前,接收方给发送方提供一个新的区块链地址。发送交易时,发送方使用此地址作为新交易的输出地址。筛选交易时,接收方对区块链账本中的交易进行逐个检测,当交易的输出地址中包含事前协商的区块链地址时,就被认为是属于自己的交易。
但是,该方法实用性差。在每次交易之前发送方和接收方都需要协商一个新的区块链地址,将显著增加双方的沟通负担。此外,频繁更换地址将显著增加接收方秘钥管理的工作量,增加秘钥丢失的风险。
第二种方法为基于特定字符串的动态标签机制。该方法采用特殊的字符串作为筛选交易的标签。发送方和接收方事先协商一个特定的字符串。发送交易时,发送方在交易的某个参数中嵌入特定字符串。筛选交易时,接收方对区块链账本中的交易进行逐个检测,当交易中的参数包含特定字符串时,就被认为是属于自己的交易。
但是,该方法隐蔽性低。由于区块链账本是公开存储的,账本中嵌入的任何特定字符串都很容易被检测。即使采用动态字符串策略,攻击者也可以通过统计交易中的数据特征,轻易的筛选出包含特殊字符串的交易。
第三种方法为基于密码算法的混淆地址。该方法采用区块链地址作为筛选交易的标签。发送方和接收方事先协商协议和秘钥。发送交易时,发送方按照协议生成一个特殊的区块链地址作为交易的输出地址。筛选交易时,接收方对区块链账本中的交易进行逐个检测,提取交易中的部分参数信息并在秘钥的参与下生成特殊地址,当交易的输出地址中包含特殊地址时,就被认为是属于自己的交易。
但是,该方法性能较低。混淆地址能够有效提升隐蔽性。但是由于混淆地址是基于交易特征计算的,接收方必须逐个对所有交易进行额外的计算与检测,效率较低。接收方筛选交易所需的时间与区块链系统中新增交易的数量成正比。
因此,需要研究一种兼具高隐蔽性和高效率的区块链交易筛选方法,能够在兼容当前典型区块链系统的条件下,有效对抗基于特征分析的隐私窃取攻击。
发明内容
本发明的目的是针对现有技术的缺陷,为解决在兼容当前区块链系统的条件下有效对抗基于特征分析的隐私窃取攻击的技术问题,创造性地提出一种基于动态地址的区块链交易筛选方法,能够使发送方和接收方能够隐蔽、高效完成区块链交易筛选。
本发明的创新点在于:用于筛选交易的标签是一个特殊的比特币地址,此地址具有与普通比特币地址完全相同的格式特征和密码学特征。区别在于,特殊地址的私钥不是随机生成的,而是按照发送方和接收方事前协商的机制生成,发送方和接收方可以相互独立的生成相同的特殊地址序列。利用这种地址序列的相同性,发送方和接收方可以在无需频繁通信的条件下,生成动态变化的地址作为标签,实现从海量区块链交易中隐蔽、高效筛选交易的目的。
本发明涉及的相关定义如下:
定义1:发送方
负责发送包含标签的区块链交易。
定义2:接收方
负责从区块链账本中筛选出包含标签的区块链交易。
定义3:监控方,负责检测携带标签的特殊区块链地址(Addr_special)和普通区块链地址(Addr_normal)是否具有不可区分性。
定义4:标签
用于区分区块链交易归属的数据特征。区块链账本中包含所有用户的交易数据,为了区分交易归属,必须在交易中添加标签信息。
常用的标签包括:地址标签,字符串标签。
定义5:区块链地址
指区块链系统中代表用户身份的账号字符串。
区块链地址由用户自行生成,用户持有地址对应的私钥,能够通过数字签名的方式证明对特定地址的所有权。
定义6:区块链账本
指区块链系统中用于存储数据的结构。
区块链系统中最小的数据单元是交易,包含一次数据交互的过程,通常包含输入地址,输出地址和相关参数。一定时间内一定数量的区块链交易组合成一个区块,区块中不仅包含所有交易的详细信息,还包括整体的哈希值、时间戳等参数信息。所有的区块按照时间顺序,采用记录前一个区块的哈希地址的方式构成一个有序数据链条,此链条包含区块链系统中的所有数据,被称为区块链账本。区块链账本是公开存储的,任意节点都可获取全部的区块链账本数据。
一种基于动态地址的区块链交易筛选方法,包括以下步骤:
步骤1:由发送方生成标签,接收方识别标签,将区块链地址作为标签字段。
发送方和接收方只需事前协商一次协议和秘钥,就能够持续生成不同的标签地址,从而满足多次交易筛选的需求。
其中,标签的目的是使接收方能够从海量的区块链交易中高效筛选出发给自己的交易,且必须同时满足隐蔽性和高效识别的需求。区块链地址是区块链交易中必有的参数,将标签信息嵌入在账号中,具有很高的隐蔽性。同时,基于账号搜索相关交易是区块链系统的基础功能,具有较高的检索效率。因此,区块链地址非常适合作为标签字段。
为检测本方法的隐蔽性,引入监控方,负责检测携带标签的特殊区块链地址(Addr_special)和普通区块链地址(Addr_normal)是否具有不可区分性。
步骤2:进行交易构造。
首先,发送方利用区块链账本中的参数信息(包括区块哈希等),在秘钥的参与下生成特殊区块链地址,并将此地址作为交易的输出地址。
然后,将构造好的交易,将按照区块链交易传播协议通过区块链网络进行广播。
最终,区块链系统中的所有节点(指运行区块链程序中的服务器)都能收到此条交易。
进一步地,本发明提出了一种携带标签的特殊区块链地址(Addr_special)的产生方法,具体如下:
步骤2.1:输入参数j和参数sk。
其中,参数j是通信双方提前协商的区块高度,其目的是将随机范围限制在最近的高度区间,从而减少不必须要的筛选难度,j的初始取值与接收方协商确定,在发送特殊交易之后,对j的取值进行更新。
参数sk是通信双方提前协商的密钥,作为HMAC函数的加密密钥。HMAC函数是一种常见的加密散列算法。经过HMAC函数处理的输出字符串将作为区块链地址对应的私钥。与普通的散列函数相比,HMAC生成的散列值只有持有密钥的接收方才能够生成,能够确保只有持有密钥sk的发送方和接收方才能够生成相同的私钥字符串。
步骤2.2:调用区块链API,获取最新区块高度n。
其中,区块链API是指区块链系统中用于查看账本数据的函数接口,能够用于查看包括区块高度、区块哈希、区块内容、交易信息等数据。区块链API的实现方式,既可以部署区块链客户端自行维护API接口,也可以直接调用第三方的API服务。
步骤2.3:利用随机算法,从j和n的值域区间挑选随机高度i,j<=i<=n。
步骤2.4:调用区块链API,获取指定高度i的区块的哈希值blockhash_i。
步骤2.5:调用HMAC算法,生成地址对应的私钥Addr_sk=HMAC(blockhash_i,sk)。
步骤2.6:调用区块链地址生成算法,生成特殊地址Addr_special=Create_addr(Addr_sk)。
步骤2.7:更新j的取值,j=i。
步骤2.8:输出Addr_special。
其中,Addr_special是按照区块链地址生成函数(Create_addr)生成的特殊地址,该地址将作为交易的接收方地址。
步骤3:进行交易筛选。
接收方首先按照协议生成地址序列,然后依次将地址序列中的地址作为筛选交易的标签,从区块链账本新增加的交易中,筛选出包含地址标签的交易。为减少对历史交易重复筛选,接收方保存上次筛选的位置,只对新增加的区块链数据进行遍历筛选。
进一步地,本发明提出了一种从区块链账本中筛选出包含标签的特殊交易的方法,具体如下:
步骤3.1:输入参数j和参数sk。
其中,参数j是通信双方提前协商的区块高度,其目的是将随机范围限制在最近的高度区间,减少不必须要的筛选难度。j的初始取值是和接收方协商确定,在发送特殊交易之后,对j的取值进行更新。
参数sk是通信双方提前协商的密钥,将作为HMAC函数的加密密钥。HMAC函数是目前常见的加密散列算法,经过HMAC函数处理的输出字符串将作为区块链地址对应的私钥。与普通的散列函数相比,HMAC生成的散列值只有持有密钥的接收方才能够生成,能够确保只有持有密钥sk的发送方和接收方才能够生成相同的私钥字符串。
步骤3.2:调用区块链API获取最新区块高度m。
步骤3.3:对i进行初始赋值,i=j。
步骤3.4:调用区块链API,获取指定高度i的区块的哈希值blockhash_i。
步骤3.5:调用HMAC算法,生成地址对应的私钥Addr_sk=HMAC(blockhash_i,sk)。
使用HMAC函数,能够确保在sk不被泄露的条件下,监控方和其他用户很难生成相同的私钥字符串。因此,凡是被使用过的Addr_i,都认为是发送方创造、使用的特殊地址。
步骤3.6:调用区块链地址生成算法,生成特殊地址Addr_i=Create_addr(Addr_sk)。
步骤3.7:调用区块链API获取账本中和特殊地址Addr_i有关的交易数据。
步骤3.8:若有交易信息,则将此交易的哈希值txHash写入哈希列表tx_special_list{},并更新j的取值,j=i;否则,执行步骤3.9。
更新j,能够确保不遗漏特殊交易的条件下,减少下一次交易筛选的工作量。
步骤3.9:检测i的取值范围,如果i<m,则i=i+1,并跳转到步骤3.4;否则结束;
步骤3.10:输出哈希列表tx_special_list{}。
步骤4:接收方从筛选出的特殊交易中,提取出传输的秘密信息。
有益效果
本发明方法,对比现有技术,具有以下优点:
1.通信隐蔽性强。本方法生成的特殊地址与普通区块链地址具有算法层面的不可区分性,在没有秘钥的情况下,即使敌手掌握了地址生成协议,也无法区分特殊地址和普通地址。
2.筛选效率高。本方法无需遍历所有交易,显著减少了接收方的筛选工作量。接收方只需要对区块进行遍历,然后即可利用区块链系统自带的根据地址查询交易的API筛选出特殊交易。由于交易数量通常是区块数量的上百倍至上千倍,因此相比现有方案,本方案的筛选效率能够提升2-3个量级。
3.安全性强。特殊地址的生成过程采用了HMAC,ECDSA等密码技术,敌手要想破解特殊地址需要解决椭圆曲线难题,即预共享密钥的安全性和比特币私钥的安全性一致,而比特币的安全性已经经过了长时间的考验。
4.兼容性高。本方法无需修改区块链底层协议,只需要调用区块链系统的API即可实现。因此,本方法适用于比特币、以太币等典型公链系统,也适用联盟链技术体系。
附图说明
图1为本发明方法的流程示意图。
图2为动态标签的生成和识别机制示意图。
具体实施方式
下面结合附图及实施例对本发明方法做进一步说明。
实施例
如图1所示,一种基于动态地址的区块链交易筛选方法,包括以下步骤:
步骤1:进行数据嵌入。
发送方使用发送程序(网页界面)构造包含特殊数据和标签的区块链交易。此例中相关参数:
■待发送数据:hello world
■标签信息:muXFV7oCJuEyEzqjJkqLFV94Q28XHFnRQL
待发送数据是指用户希望通过此隐蔽信道传输的信息。用户输入为明文字符串,下一步,系统将对其进行加密,实现保护数据隐私、提高信道隐蔽性的目的。
标签信息是指本方案生成的动态地址标签。此标签是按照步骤2.1-2.8生成,如图2左侧所示。其中涉及的参数包括:
■参数j:1970074
■参数sk:
2f6bdd9daeb02a42bb19732a4737fac66fac51e3b68fcea42450a26e4732baba
■哈希值blockhash_i:
000000000000000833107b0b5b5d9868e4f96513d6bc862531270faa574010b3
■标签地址:muXFV7oCJuEyEzqjJkqLFV94Q28XHFnRQL
参数j是通信双方事先协商的区块高度,其目的是将随机范围限制在最近的高度区间,减少不必须要的筛选难度。
参数sk是通信双方提前协商的密钥,将作为HMAC函数的加密密钥。
哈希值blockhash_i是指本次随机选中的区块的哈希值,此哈希值是根据随机到的区块高度从区块链账本中获取。
标签地址是利用HMAC算法和比特币地址生成算法,在参数sk和哈希值blockhash_i的参与下,生成的比特币地址。此地址在字符特征和功能上与普通比特币地址没有区别,没有密钥sk的第三方无法区分普通地址和此地址。
步骤2:进行交易构造。
发送方使用发送程序(网页界面)生成携带秘密信息的特殊交易。此交易中的参数经过密码算法进行加密处理,能够增强交易的不可区分性。此例中相关参数:
■链上数据:
F9F6859EB3CA82769E1DEFFFFC8C80E1D7772C83933FBF73A9025DA368656C6C6F20776F726C6416
■生成的交易哈希:
eab4baf20c9ecf57e2a695dca6d09bfdf797e5d3906f7b7e03a895f857d7cd11
链上数据是指经过加密后的待传输数据。本方法的创新点是动态标签机制,对于链上数据仅采用常规的数据加密方法。本方法中,采用AES加密对原始待传输数据进行加密。
生成的交易哈希是指发送方生成的区块链交易的交易哈希值。此交易中包含加密后的待传输数据和标签地址。由于采用数据加密机制和动态标签机制,此交易与普通比特币交易在字符特征和功能上没有显著区别,具有较高的不可区分性。
步骤3:进行交易筛选。
接收方使用接收程序(网页界面)从区块链账本中筛选出携带秘密信息的特殊交易,筛选方法按照步骤3.1-3.10执行,如图2右侧所示。此例中相关参数为:
■参数j:1970074
■参数sk:
2f6bdd9daeb02a42bb19732a4737fac66fac51e3b68fcea42450a26e4732baba
■标签信息:muXFV7oCJuEyEzqjJkqLFV94Q28XHFnRQL
■筛选的交易哈希:
eab4baf20c9ecf57e2a695dca6d09bfdf797e5d3906f7b7e03a895f857d7cd11
参数j是通信双方事先协商的区块高度。
参数sk是通信双方提前协商的密钥。
步骤4:信息提取。
接收方使用接收程序(网页界面)从筛选出的特殊交易中,提取出传输的秘密信息。此例中相关参数:
■链上数据:
F9F6859EB3CA82769E1DEFFFFC8C80E1D7772C83933FBF73A9025DA368656C6C6F20776F726C6416
■解密后的数据:hello world
链上数据是指特殊交易中嵌入的数据字符串。此数据是由原始待传输数据经过加密后生成的字符串。
解密后的数据是指从链上数据中解密出的原始待传输数据。

Claims (5)

1.一种基于动态地址的区块链交易筛选方法,首先,对相关定义说明如下:
定义1:发送方,负责发送包含标签的区块链交易;
定义2:接收方,负责从区块链账本中筛选出包含标签的区块链交易;
定义3:监控方,负责检测携带标签的特殊区块链地址Addr_special和普通区块链地址Addr_normal是否具有不可区分性;
定义4:标签,用于区分区块链交易归属的数据特征;
定义5:区块链地址,指区块链系统中代表用户身份的账号字符串;
定义6:区块链账本,指区块链系统中用于存储数据的结构;
其特征在于,包括以下步骤:
步骤1:由发送方生成标签,接收方识别标签,将区块链地址作为标签字段;发送方和接收方只需事前协商一次协议和秘钥;
步骤2:进行交易构造;
首先,发送方利用区块链账本中的参数信息,在秘钥的参与下生成特殊区块链地址,并将此地址作为交易的输出地址;
然后,将构造好的交易,将按照区块链交易传播协议通过区块链网络进行广播;
最终,区块链系统中的所有节点都能收到此条交易;
步骤3:进行交易筛选;
接收方首先按照协议生成地址序列,然后依次将地址序列中的地址作为筛选交易的标签,从区块链账本新增加的交易中,筛选出包含地址标签的交易;
为减少对历史交易重复筛选,接收方保存上次筛选的位置,只对新增加的区块链数据进行遍历筛选;
步骤4:接收方从筛选出的特殊交易中,提取出传输的秘密信息。
2.如权利要求1所述的一种基于动态地址的区块链交易筛选方法,其特征在于,步骤2中,携带标签的特殊区块链地址Addr_special的产生方法如下:
步骤2.1:输入参数j和参数sk;
其中,参数j是通信双方提前协商的区块高度,j的初始取值与接收方协商确定,在发送特殊交易之后,对j的取值进行更新;
参数sk是通信双方提前协商的密钥,作为HMAC函数的加密密钥;经过HMAC函数处理的输出字符串将作为区块链地址对应的私钥;
步骤2.2:调用区块链API,获取最新区块高度n;
其中,区块链API是指区块链系统中用于查看账本数据的函数接口;
步骤2.3:利用随机算法,从j和n的值域区间挑选随机高度i,j<=i<=n;
步骤2.4:调用区块链API,获取指定高度i的区块的哈希值blockhash_i;
步骤2.5:调用HMAC算法,生成地址对应的私钥Addr_sk=HMAC(blockhash_i,sk);
步骤2.6:调用区块链地址生成算法,生成特殊地址Addr_special=Create_addr(Addr_sk);
步骤2.7:更新j的取值,j=i;
步骤2.8:输出Addr_special;
其中,Addr_special是按照区块链地址生成函数Create_addr生成的特殊地址,该地址将作为交易的接收方地址。
3.如权利要求2所述的一种基于动态地址的区块链交易筛选方法,其特征在于,步骤2.2中,区块链API的实现方式为:部署区块链客户端自行维护API接口。
4.如权利要求2所述的一种基于动态地址的区块链交易筛选方法,其特征在于,步骤2.2中,区块链API的实现方式为:直接调用第三方的API服务。
5.如权利要求1所述的一种基于动态地址的区块链交易筛选方法,其特征在于,步骤3中,从区块链账本中筛选出包含标签的特殊交易的方法如下:
步骤3.1:输入参数j和参数sk;
其中,参数j是通信双方提前协商的区块高度,j的初始取值是和接收方协商确定,在发送特殊交易之后,对j的取值进行更新;
参数sk是通信双方提前协商的密钥,作为HMAC函数的加密密钥;经过HMAC函数处理的输出字符串作为区块链地址对应的私钥;
步骤3.2:调用区块链API获取最新区块高度m;
步骤3.3:对i进行初始赋值,i=j;
步骤3.4:调用区块链API,获取指定高度i的区块的哈希值blockhash_i;
步骤3.5:调用HMAC算法,生成地址对应的私钥Addr_sk=HMAC(blockhash_i,sk);
凡是被使用过的Addr_i,都认为是发送方创造、使用的特殊地址;
步骤3.6:调用区块链地址生成算法,生成特殊地址Addr_i=Create_addr(Addr_sk);
步骤3.7:调用区块链API获取账本中和特殊地址Addr_i有关的交易数据;
步骤3.8:若有交易信息,则将此交易的哈希值txHash写入哈希列表tx_special_list{},并更新j的取值,j=i;否则,执行步骤3.9;
更新j,能够确保不遗漏特殊交易的条件下,减少下一次交易筛选的工作量;
步骤3.9:检测i的取值范围,如果i<m,则i=i+1,并跳转到步骤3.4;否则结束;
步骤3.10:输出哈希列表tx_special_list{}。
CN202110784614.3A 2021-07-12 2021-07-12 一种基于动态地址的区块链交易筛选方法 Pending CN113660088A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110784614.3A CN113660088A (zh) 2021-07-12 2021-07-12 一种基于动态地址的区块链交易筛选方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110784614.3A CN113660088A (zh) 2021-07-12 2021-07-12 一种基于动态地址的区块链交易筛选方法

Publications (1)

Publication Number Publication Date
CN113660088A true CN113660088A (zh) 2021-11-16

Family

ID=78477975

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110784614.3A Pending CN113660088A (zh) 2021-07-12 2021-07-12 一种基于动态地址的区块链交易筛选方法

Country Status (1)

Country Link
CN (1) CN113660088A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114389846A (zh) * 2021-12-15 2022-04-22 北京理工大学 一种基于区块链多交易拆分的数据隐蔽传输方法
CN114567428A (zh) * 2022-01-14 2022-05-31 北京理工大学 一种支持动态标签的区块链数据隐蔽传输方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110225016A (zh) * 2019-05-31 2019-09-10 北京理工大学 一种基于区块链网络的数据隐蔽传输方法
CN112532613A (zh) * 2020-11-25 2021-03-19 山东师范大学 一种基于区块链地址的隐蔽通信方法
US20210090072A1 (en) * 2017-04-07 2021-03-25 nChain Holdings Limited Method and system for secure data record distribution using a blockchain

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210090072A1 (en) * 2017-04-07 2021-03-25 nChain Holdings Limited Method and system for secure data record distribution using a blockchain
CN110225016A (zh) * 2019-05-31 2019-09-10 北京理工大学 一种基于区块链网络的数据隐蔽传输方法
CN112532613A (zh) * 2020-11-25 2021-03-19 山东师范大学 一种基于区块链地址的隐蔽通信方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
司成祥: "一种支持动态标签的区块链数据隐蔽传输机制", 《西安电子科技大学学报》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114389846A (zh) * 2021-12-15 2022-04-22 北京理工大学 一种基于区块链多交易拆分的数据隐蔽传输方法
CN114389846B (zh) * 2021-12-15 2023-08-08 北京理工大学 一种基于区块链多交易拆分的数据隐蔽传输方法
CN114567428A (zh) * 2022-01-14 2022-05-31 北京理工大学 一种支持动态标签的区块链数据隐蔽传输方法
CN114567428B (zh) * 2022-01-14 2024-03-05 北京理工大学 一种支持动态标签的区块链数据隐蔽传输方法

Similar Documents

Publication Publication Date Title
CN110225016B (zh) 一种基于区块链网络的数据隐蔽传输方法
Atiewi et al. Scalable and secure big data IoT system based on multifactor authentication and lightweight cryptography
CN109218825B (zh) 一种视频加密系统
Cachin Digital Steganography.
Bhole et al. Steganography over video file using Random Byte Hiding and LSB technique
CN103414682A (zh) 一种数据的云端存储方法及系统
CN113660088A (zh) 一种基于动态地址的区块链交易筛选方法
CN109274644A (zh) 一种数据处理方法、终端和水印服务器
CN104009842A (zh) 基于des、rsa加密算法及脆弱数字水印的通信数据加解密方法
Faisal et al. The evolution of embedding metadata in blockchain transactions
Wendzel et al. Unified description for network information hiding methods
US20060143279A1 (en) Source-of-leakage detectable e-mail address forming, sending and detection
Dubey et al. Steganography Cryptography and Watermarking: A Review
JP2009237804A (ja) 電子メールシステム
CN106487505A (zh) 密钥管理、获取方法及相关装置和系统
Raeisi-Varzaneh et al. Internet of Things: Security, Issues, Threats, and Assessment of Different Cryptographic Technologies
Davis et al. Time-scoped searching of encrypted audit logs
CN117200965A (zh) 一种避免复用地址和提前协商私钥的区块链隐蔽通信方法
CN114826730B (zh) 一种可隐藏敏感文档和发送者身份的区块链隐蔽通信模型
US20230111701A1 (en) Secure keyboard resource limiting access of user input to destination resource requesting the user input
Mahdi Ebadati et al. A hybrid encryption algorithm for security enhancement of wireless sensor networks: A supervisory approach to pipelines
CN115277000A (zh) 一种基于门罗币的信息传递方法
Gupta et al. Performance evaluation on data leakage detection for secure communication
CN111541652A (zh) 一种用于提高秘密信息保管及传递安全性的系统
Wijaya et al. Improving Security and Imperceptibility Using Modified Least Significant BIT and Fernet Symmetric Encryption

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20211116

WD01 Invention patent application deemed withdrawn after publication