CN114726503A - 一种区块链车联网中的隐私保护数据订阅方法 - Google Patents

一种区块链车联网中的隐私保护数据订阅方法 Download PDF

Info

Publication number
CN114726503A
CN114726503A CN202210327669.6A CN202210327669A CN114726503A CN 114726503 A CN114726503 A CN 114726503A CN 202210327669 A CN202210327669 A CN 202210327669A CN 114726503 A CN114726503 A CN 114726503A
Authority
CN
China
Prior art keywords
subscription
hash
data
user
key
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
CN202210327669.6A
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 CN202210327669.6A priority Critical patent/CN114726503A/zh
Publication of CN114726503A publication Critical patent/CN114726503A/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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种区块链车联网中的隐私保护数据订阅方法,属于区块链及隐私信息保护技术领域。本方法在区块链中存储密文形式的数据与索引,并将查询的主题进行混淆,在保证查询结果正确性的前提下,外部攻击者无法根据链上存储的密文数据推断出明文的内容,也无法推断出用户查询的主题。本方法采用的基于哈希链的订阅密钥管理与分配法,用户可以通过订阅密钥查询订阅期内指定主题的内容,并解密查询结果,用户无法查询和解密在其订阅期和订阅主题以外的内容。用户在解密查询结果后,可以批量认证查询结果的完整性,实现车联网订阅查询结果的高效可验证。

Description

一种区块链车联网中的隐私保护数据订阅方法
技术领域
本发明涉及一种数据隐私保护方法,具体包括一种区块链车联网中的隐私保护数据订阅方法,属于区块链及隐私信息保护技术领域。
背景技术
随着智能网联汽车技术的发展,车联网吸引了越来越多人的关注。车联网以装载车载单元OBU的智能汽车为载体,通过自身网络模块与路旁单元RSU等基础设施,实现车与车(V2V)、车与基础设施(V2I)乃至车与万物(V2X)的通信。
车联网的出现为车辆用户带来了更多便利。以数据订阅这一车联网中的典型应用为例,订阅服务商定期将自己的数据发布在云服务器,其中每条数据均包含一个特定的主题,如新闻、天气等,用户需要向订阅服务商购买针对特定时间段(如2022年)和特定主题(如时事新闻)的订阅密钥,当用户需要查询订阅期内某个主题的数据时,通过订阅密钥生成查询令牌发送到云服务器,云服务器向用户返回查询结果。
显然,上述的车联网数据订阅方案基于中心化架构,一旦中心化的云服务器出现单点故障,方案的可靠性将无法保证。此外,恶意的云服务器可能出于自身利益(如节省自身的计算资源),向用户返回错误的查询结果,而用户本身无法验证查询结果的正确性,这进一步破坏了公平性,即用户付出了订阅费用,但没有得到正确的订阅查询结果。
区块链技术具有无中心化和数据不可篡改的特点,将区块链技术应用于车联网数据订阅这一场景,可有效解决传统中心化架构导致的单点崩溃故障与查询结果可能存在错误的问题。然而,在车联网数据订阅中,隐私问题同样重要。一旦存储在云服务器的订阅数据泄露,可能会导致数据的非法访问,即未授权用户也可以看到这些数据的内容,这将给订阅服务商造成重大的经济损失。此外,用户查询的主题可能会泄露用户的隐私信息,如家庭住址、个人爱好、职业等敏感信息,这些信息一旦被恶意攻击者所获知,可能会用于电信诈骗等非法用途,严重危害的用户的安全。
发明内容
本发明的目的是针对现有技术存在的缺陷,为了解决车联网数据订阅中存在的单点故障与查询结果不正确的技术问题,同时实现保护订阅服务商的数据隐私和用户的查询隐私,创造性地提出一种区块链车联网中的隐私保护数据订阅方法。
本发明的创新点在于:第一,在区块链中存储密文形式的数据与索引,并将查询的主题进行混淆,在保证查询结果正确性的前提下,外部攻击者无法根据链上存储的密文数据推断出明文的内容,也无法推断出用户查询的主题。第二,提出了一种基于哈希链的订阅密钥管理与分配方法,用户可以通过订阅密钥查询订阅期内指定主题的内容,并解密查询结果,用户无法查询和解密在其订阅期和订阅主题以外的内容。第三,用户在解密查询结果后,可以批量认证查询结果的完整性,实现车联网订阅查询结果的高效可验证。
本发明采用以下技术方案实现。
一种区块链车联网中的隐私保护数据订阅方法,包括以下步骤:
步骤1:系统初始化。
订阅服务商首先初始化数据订阅查询系统,生成一系列密钥。具体地,包括以下步骤:
步骤1.1:订阅服务商生成一个主密钥k,和一个用于产生数字签名的公私钥对(pk,sk)。pk表示公钥,sk表示私钥。
步骤1.2:订阅服务商生成两个哈希链U、V,每个哈希链均由L个哈希构成,L代表系统可支持的最大更新次数,由订阅服务商自行设置。
步骤1.3:设订阅数据中拟包含的所有主题集合为W,对W中的每个主题w,生成一个哈希链Sw,由L个哈希构成,并将其加入哈希链集合S。
步骤1.4:订阅服务商在区块链中部署车载数据订阅查询的智能合约,将pk公开发布到区块链,将k、U、V、S、sk秘密保存。
步骤2:订阅服务商更新数据。
在完成系统初始化后,订阅服务商定期(如每天一次)将自己新产生的数据和对应的主题加密混淆,并发布到区块链上。
设当前是订阅服务商的第c次更新,c为一个1到L之间的整数,更新的数据集合为Dc,其中包含n个子集
Figure BDA0003572139680000031
分别对应步骤1中主题集合W的主题w1,w2,…,wn,n代表集合W中的主题个数。
具体地,包括以下步骤:
步骤2.1:订阅服务商初始化一个更新字典。
步骤2.2:对Dc中的每个子集
Figure BDA0003572139680000032
执行以下步骤:
步骤2.2.1:使用两条哈希链U、V,和哈希链集合S计算加密密钥。
步骤2.2.2:使用主密钥k和两条哈希链U、V,计算头索引。
步骤2.2.3:设d是
Figure BDA0003572139680000033
中的第j条数据,对
Figure BDA0003572139680000034
中的每条数据d执行以下步骤:
步骤2.2.3.1:若d为
Figure BDA0003572139680000035
中的最后一条数据,且当前更新次数c>1,则利用主密钥k和集合S生成后继索引;否则,随机生成一串比特,作为后继索引。
步骤2.2.3.2:得到当前索引。当j=1时,当前索引为步骤2.2.2中产生的头索引;否则,当前索引为第j-1次执行步骤2.2.3.1时产生的后继索引。
步骤2.2.3.3:使用步骤2.2.3.2中产生的当前索引与哈希链集合S计算异或密钥,将异或密钥与步骤2.2.3.1中产生的后继索引进行异或操作,得到异或后的后继索引。
步骤2.2.3.4:使用私钥sk计算对数据d的签名,将签名和使用哈希链集合S与步骤2.2.3.2中产生的当前索引计算的密钥进行异或操作,得到异或后的数字签名。
步骤2.2.3.5:使用步骤2.2.1中产生的加密密钥对d加密,得到加密后的密文数据。
步骤2.2.3.6:将当前的更新次数c、异或后的后继索引、异或后的数字签名以及加密后的密文数据,进行拼接。以步骤2.2.3.2中产生的当前索引作为查询索引作为查询索引,以拼接后的数据所谓查询索引对应的值,构造键值对,并添加到更新字典中。
步骤2.3:订阅服务商将更新字典上传到区块链。
步骤3:订阅服务商向用户分发订阅密钥。
在用户进行订阅查询之前,要向订阅服务商发送订阅请求,并向订阅服务商付费。
设用户订阅由第a次更新到第b次更新之间的主题为w的所有数据。订阅服务商在收到用户支付的相应费用后,根据用户的订阅请求,生成并分发订阅密钥。
具体地,包括以下步骤:
步骤3.1:从哈希链U中找到第a个哈希ua,从哈希链V中找到第b个哈希vb
步骤3.2:从哈希链集合S中找到和主题w相关的哈希链Sw,并从Sw中找到第b个哈希hb
步骤3.3:将ua、vb、hb和主密钥k通过安全信道发送给用户。
步骤4:用户订阅查询。
在获得由步骤3中订阅服务商发来的订阅密钥后,用户可以执行订阅查询操作。
设用户查询由第p次更新到第q次更新之间主题为w的所有数据,其中订阅查询需满足p<q、p≥a以及q≤b。用户首先生成订阅查询令牌,并发送到区块链网络,智能合约在收到查询令牌后,执行查询操作,向用户返回密文形式的查询结果。
具体地,包括以下步骤:
步骤4.1:用户使用从订阅服务商中获取的哈希hb,计算b-q次哈希值,得到哈希hq
步骤4.2:用户使用hq和步骤3获取的密钥k,计算头索引。
步骤4.3:用户生成查询令牌,包括p、q、hq和步骤4.2中产生的头索引。
步骤4.4:用户将查询令牌发送给区块链智能合约。
步骤4.5:智能合约在收到用户的查询令牌后,解析令牌得到p、q、hq和头索引,并初始化查询结果集合。
步骤4.6:智能合约将当前索引设置为步骤4.5中解析得到的头索引。
步骤4.7:智能合约在区块链中查询当前索引对应的值,若值非空,执行步骤4.7.1-4.7.6;否则,执行步骤4.8:
步骤4.7.1:将查询到的值解析为四部分,包括更新次数c、异或后的后继索引、异或后的数字签名、密文数据。
步骤4.7.2:使用步骤4.3中解析得到的哈希hq,计算q-c次哈希值,得到哈希hc
步骤4.7.3:将从步骤4.7.1中解析得到的异或后的后继索引、步骤4.7.2中计算的哈希hc,与当前索引计算得到的异或密钥进行异或操作,恢复出后继索引。
步骤4.7.4:将从步骤4.7.1中解析得到的异或后的数字签名、步骤4.7.2中计算的哈希hc,与当前索引计算得到的异或密钥进行异或操作,恢复出数字签名。
步骤4.7.5:将从步骤4.7.1中解析得到的更新次数、从步骤4.7.4中得到的数字签名与从步骤4.7.1中解析得到的密文数据进行拼接,加入查询结果集合。
步骤4.7.6:将当前索引设置为从步骤4.7.3中得到的后继索引。
步骤4.8:智能合约向用户返回查询结果集合。
步骤5:用户验证并解密查询结果。
在收到由智能合约发来的密文形式的查询结果集合后,用户首先使用订阅密钥解密集合中的数据,之后批量验证数字签名,并移除签名有误的数据,最终恢复出原始数据,即为最终的查询结果。
具体地,包括以下步骤:
步骤5.1:初始化一个签名集合与一个解密数据集合。
步骤5.2:对于查询结果集合中的每个条目,用户将其解析为三部分,包括更新次数c、数字签名、密文数据,并执行以下步骤:
步骤5.2.1:使用步骤3中从订阅服务商中获取的哈希ua,计算c-a次哈希值,得到哈希uc
步骤5.2.2:使用步骤3中从订阅服务商中获取的哈希vb,计算b-c次哈希值,得到哈希vc
步骤5.2.3:使用步骤3中从订阅服务商中获取的哈希hb,计算b-c次哈希值,得到哈希hc
步骤5.2.4:使用步骤5.2.1-5.2.3中得到的uc、vc和hc计算解密密钥。
步骤5.2.5:使用步骤5.2.4中得到的解密密钥,解密步骤5.2中解析得到的密文数据,得到解密后的数据。
步骤5.2.6:将步骤5.2中解析得到的数字签名加入签名集合,将步骤5.2.5中得到的解密后的数据加入解密数据集合。
步骤5.3:使用执行步骤5.2后得到的签名集合与解密数据集合,批量验证数字签名的合法性。若验证通过,则将解密数据集合视作订阅查询得到的查询结果;若不通过,则移除那些导致批量验证不通过的无效签名信息与解密数据信息,将移除无效数据后得到的解密数据集合视作订阅查询得到的查询结果。
有益效果
本发明,对比现有技术,具有以下优点:
1.更高的可靠性。本发明方法,使用无中心化的区块链技术,将数据的存储和查询操作放在区块链上,解决了传统中心化车联网架构下的数据订阅机制因单点故障等原因导致的系统崩溃问题,且任何人都不能修改存储在区块链上的数据。此外,本发明方法,使用智能合约在区块链上执行订阅查询过程,确保了查询结果能够正确地执行。因此,与现有车联网数据订阅机制相比,本发明具有更强的可靠性。
2.更有效的隐私保护。本发明方法,使用密码学技术对订阅服务商上传的原始数据进行加密,对用户订阅查询时的主题进行混淆,外部攻击者无法恢复链上数据,也无法推断出用户查询的主题。此外,用户无法恢复出属于其订阅之外的数据,阻止了数据的非授权访问。因此,在区块链车联网中的数据订阅场景下,本发明可以保护订阅服务商的数据隐私和用户的查询隐私。
3.高效可验证。本发明方法,支持用户对查询结果完整性的验证。此外,在用户收到查询结果时,只需执行一次批量验证操作,即可验证查询结果的完整性,验证操作次数和查询结果数量无关。因此,本发明实现了区块链车联网中数据订阅查询结果的高效可验证。
附图说明
图1为本发明方法的流程示意图;
图2为本发明方法中第c次更新时的加密索引结构示意图;
图3为本发明方法中用户解密过程示意图。
具体实施方式
下面结合附图和实施例对本发明做进一步详细说明。
实施例
如图1所示,一种区块链车联网中的隐私保护数据订阅方法,包括以下步骤:
步骤1:系统初始化。
订阅服务商首先需要初始化数据订阅查询系统,生成一系列密钥。具体地,包括以下步骤:
步骤1.1:订阅服务商生成一个主密钥k,和一个用于产生数字签名的公私钥对(pk,sk)。
步骤1.2:订阅服务商生成两个哈希链U={u1,...,uL}和V={v1,...,vL},每个哈希链均由L个长度为256比特的哈希构成,其中L代表系统可支持的最大更新次数,由订阅服务商自行设置。具体地,U中哈希ui的计算规则为:当i=1时,ui为一段长度为256比特的随机字符串,当1<i≤L时,ui=H(ui-1),这里的H代表SHA256哈希函数。V中哈希vi的计算规则为:当i=l时,vi为一段长度为256比特的随机字符串,当1≤i<L时,vi=H(vi+1),这里的H代表SHA256哈希函数。
步骤1.3:设订阅数据中拟包含的所有主题集合为W,对W中的每个主题w,生成一个哈希链Sw,由L个长度为256比特的哈希构成,并将其加入哈希链集合S。Sw中哈希
Figure BDA0003572139680000081
的计算规则为:当i=L时,
Figure BDA0003572139680000082
为一段长度为256比特的随机字符串,当1≤i<L时,
Figure BDA0003572139680000083
这里的H代表SHA256哈希函数。
步骤1.4:订阅服务商在区块链中部署车载数据订阅查询的智能合约,将pk公开发布到区块链,将k,U,V,S,sk秘密保存。
步骤2:订阅服务商更新数据。
在完成系统初始化后,订阅服务商定期(如每天一次)将自己新产生的数据和对应的主题加密混淆,并发布到区块链上。假设当前是订阅服务商的第c次更新,其中c为一个1到L之间的整数,更新的数据集合为Dc,其中包含n个子集
Figure BDA0003572139680000084
分别对应步骤1.3中主题集合W的主题w1,w2,...,wn,这里n代表集合W中的主题个数。第c次更新时的加密索引结构示意图如图2所示。
具体地,包括以下步骤:
步骤2.1:订阅服务商初始化一个更新字典Dic。
步骤2.2:对Dc中的每个子集
Figure BDA0003572139680000085
执行以下步骤:
步骤2.2.1:分别找到步骤1.2中产生的两条哈希链U,V中的第c个哈希,记为uc和vc;找到步骤1.3中产生的哈希链集合S中对应
Figure BDA0003572139680000086
主题w的哈希链Sw,进一步找到Sw中的第c个哈希hc,计算加密密钥Kc=F(hc,uc||vc)。其中F为一个安全的伪随机函数,输入为一个长度为256比特的字符串和一个长度为任意比特的字符串,输出为一个长度为256比特的字符串,||为字符串拼接操作。
步骤2.2.2:计算头索引r1=F(hc,k),其中k为步骤1.1中产生的密钥。
步骤2.2.3:对
Figure BDA0003572139680000087
中的每条数据d(这里假设d是
Figure BDA0003572139680000088
中的第j条数据),执行以下步骤:
步骤2.2.3.1:设后继索引为rj+1,若d为
Figure BDA0003572139680000089
中的最后一条数据,且当前更新次数c>1,则计算rj+1=F(hc-1,k),其中hc-1为步骤2.2.1中哈希链Sw的第c-1个哈希;否则,rj+1为一段长度为256比特的随机字符串。
步骤2.2.3.2:设当前索引为rj,当j=1时,rj=r1,即步骤2.2.2中产生的头索引;否则,rj为第j-1次执行步骤2.2.3.1时产生的后继索引。
步骤2.2.3.3:计算异或后的后继索引
Figure BDA00035721396800000810
其中
Figure BDA00035721396800000811
为异或操作。
步骤2.2.3.4:计算Schnorr数字签名σ=Π.Sig(d,sk),其中Π.Sig代表Schnorr签名方案中的数字签名生成算法,sk为步骤1.1中产生的私钥;之后计算异或后的签名
Figure BDA0003572139680000091
其中G为一个安全的伪随机函数,输入为两个长度为256比特的字符串,输出为一个长度与Schnorr数字签名长度相同的字符串。
步骤2.2.3.5:计算密文数据E=Γ.Enc(Kc,d),其中Γ.Enc为AES加密方案中的加密算法,Kc为步骤2.2.1中产生的加密密钥。
步骤2.2.3.6:构造查询索引为rj,对应值为c||Φ||σ′||E的键值对,并添加到更新字典Dic中,其中rj为步骤2.2.3.2中得到的当前索引,c为当前的更新次数,Φ,σ′,E分别为步骤2.2.3.3-2.2.3.5中产生的异或后的后继索引、异或后的数字签名与密文数据。
步骤2.3:订阅服务商将通过步骤2.1和步骤2.2产生的更新字典Dic上传到区块链。
步骤3:订阅服务商向用户分发订阅密钥。
在用户进行订阅查询之前,需要向订阅服务商发送订阅请求,并向订阅服务商付费。这里假设用户订阅由第a次更新到第b次更新之间的主题为w的所有数据。订阅服务商在收到用户支付的相应费用后,根据用户的订阅请求,生成并分发订阅密钥。
具体地,包括以下步骤:
步骤3.1:从步骤1.2产生的哈希链U中找到第a个哈希ua,从步骤1.2产生的哈希链V中找到第b个哈希vb
步骤3.2:从步骤1.3产生的哈希链集合S中找到和主题w相关的哈希链Sw,并从Sw中找到第b个哈希hb
步骤3.3:将ua,vb,hb和步骤1.1中产生的密钥k通过安全信道发送给用户。
步骤4:用户订阅查询。
在获得由步骤3中订阅服务商发来的订阅密钥后,用户可以执行订阅查询操作。假设用户查询由第p次更新到第q次更新之间主题为w的所有数据,其中订阅查询需满足(1)p<q;(2)p≥a;(3)q≤b。用户首先生成订阅查询令牌,并发送到区块链网络,智能合约在收到查询令牌后,执行查询操作,向用户返回密文形式的查询结果。
具体地,包括以下步骤:
步骤4.1:用户使用步骤3.3中从订阅服务商中获取的哈希hb和步骤1.3中定义的SHA256哈希函数H,计算b-q次哈希值,得到哈希hq
步骤4.2:计算头索引ind=F(hq,k),其中F为步骤2.2.1中定义的伪随机函数,k为步骤3.3中用户从订阅服务商获取的密钥。
步骤4.3:用户生成查询令牌T=(p,q,ind,hq),p,q分别代表用户本次订阅查询周期的起始值和结束值。
步骤4.4:用户将查询令牌T发送给区块链智能合约。
步骤4.5:智能合约在收到用户的查询令牌T后,解析令牌得到p,q,ind,hq,其中p,q分别代表用户本次订阅查询周期的起始值和结束值,ind代表头索引,hq为查询操作所用的哈希值,并初始化查询结果集合Res。
步骤4.6:智能合约设置当前索引r=ind。
步骤4.7:智能合约在区块链中查询当前索引r对应的值,若值非空,执行步骤4.7.1-4.7.6;否则,执行步骤4.8:
步骤4.7.1:将查询到的值解析为四部分,分别为(1)更新次数c、(2)异或后的后继索引Φ、(3)异或后的数字签名σ′和(4)密文数据E。
步骤4.7.2:使用步骤4.3中解析得到的哈希hq和步骤1.3中定义的SHA256哈希函数H,计算q-c次哈希值,得到哈希hc
步骤4.7.3:计算后继索引
Figure BDA0003572139680000101
其中
Figure BDA0003572139680000102
为异或操作,F为步骤2.2.1中定义的伪随机函数。
步骤4.7.4:计算数字签名
Figure BDA0003572139680000103
其中G为步骤2.2.3.4中定义的伪随机函数。
步骤4.7.5:将c||σ||E加入查询结果集合Res,其中c为步骤4.7.1中解析得到的更新次数,σ为步骤4.7.4中得到的数字签名,E为步骤4.7.1中解析得到的密文数据,||为字符串拼接操作。
步骤4.7.6:设置当前索引r=r′,其中r′为从步骤4.7.3中得到的后继索引。
步骤4.8:智能合约向用户返回查询结果集合Res。
步骤5:用户验证并解密查询结果。
在收到由智能合约发来的密文形式的查询结果集合后,用户首先使用订阅密钥解密集合中的数据,之后批量验证数字签名,并移除签名有误的数据,最终恢复出原始数据,即为最终的查询结果。用户解密过程示意图如图3所示。
具体地,包括以下步骤:
步骤5.1:初始化一个签名集合∑与一个解密数据集合R。
步骤5.2:对于查询结果集合中的每个条目,用户将其解析为三部分,分别为(1)更新次数c;(2)数字签名σ;(3)密文数据E,并执行以下步骤:
步骤5.2.1:使用步骤3.3中从订阅服务商中获取的哈希ua和步骤1.3中定义的SHA256哈希函数H,计算c-a次哈希值,得到哈希uc
步骤5.2.2:使用步骤3.3中从订阅服务商中获取的哈希vb和步骤1.3中定义的SHA256哈希函数H,计算b-c次哈希值,得到哈希vc
步骤5.2.3:使用步骤3.3中从订阅服务商中获取的哈希hb和步骤1.3中定义的SHA256哈希函数H,计算b-c次哈希值,得到哈希hc
步骤5.2.4:计算解密密钥Kc=F(hc,uc||vc),其中F为步骤2.2.1中定义的伪随机函数。
步骤5.2.5:将步骤5.2中解析得到的密文数据E解密,得到解密后的数据d=Γ.Dec(Kc,E),其中Γ.Dec为AES加密方案中的解密算法。
步骤5.2.6:将步骤5.2中解析得到的数字签名σ加入签名集合∑,将步骤5.2.5中得到的解密后的数据d加入解密数据集合R。
步骤5.3:计算b=Π.BatchVer(pk,R,∑),pk为步骤1.1中产生的订阅服务商的公钥,Π.BatchVer为Schnorr签名方案中的批量验证算法。若b=true说明验证通过,则将R视作订阅查询得到的查询结果;若b=false说明验证不通过,则需要从R中移除那些导致批量验证不通过的无效签名信息与解密数据信息,将移除无效数据后得到的R视作订阅查询得到的查询结果。
为了说明本发明的内容及实施方法,本说明书给出了上述具体实施例。但是,本领域技术人员应理解,本发明不局限于上述最佳实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本申请相同或相近似的技术方案,均落在本发明的保护范围之内。

Claims (2)

1.一种区块链车联网中的隐私保护数据订阅方法,其特征在于,包括以下步骤:
步骤1:系统初始化;订阅服务商首先初始化数据订阅查询系统,生成一系列密钥,包括主密钥、用于产生数字签名的公私钥对,以及两个哈希链;
步骤2:订阅服务商更新数据;在完成系统初始化后,订阅服务商定期将自己新产生的数据和对应的主题加密混淆,并发布到区块链上;
步骤3:订阅服务商向用户分发订阅密钥;在用户进行订阅查询之前,要向订阅服务商发送订阅请求,并向订阅服务商付费;
步骤4:用户订阅查询;在获得由步骤3中订阅服务商发来的订阅密钥后,用户执行订阅查询操作;
步骤5:用户验证并解密查询结果;在收到由智能合约发来的密文形式的查询结果集合后,用户首先使用订阅密钥解密集合中的数据,之后批量验证数字签名,并移除签名有误的数据,最终恢复出原始数据,即为最终的查询结果。
2.如权利要求1所述的一种区块链车联网中的隐私保护数据订阅方法,其特征在于,步骤1包括以下步骤:
步骤1.1:订阅服务商生成一个主密钥k,和一个用于产生数字签名的公私钥对(pk,sk);pk表示公钥,sk表示私钥;
步骤1.2:订阅服务商生成两个哈希链U、V,每个哈希链均由L个哈希构成,L代表系统可支持的最大更新次数,由订阅服务商自行设置;
步骤1.3:设订阅数据中拟包含的所有主题集合为W,对W中的每个主题w,生成一个哈希链Sw,由L个哈希构成,并将其加入哈希链集合S;
步骤1.4:订阅服务商在区块链中部署车载数据订阅查询的智能合约,将pk公开发布到区块链,将k、U、V、S、sk秘密保存;
步骤2包括以下步骤:
设当前是订阅服务商的第c次更新,c为一个1到L之间的整数,更新的数据集合为Dc,其中包含n个子集
Figure FDA0003572139670000011
分别对应步骤1中主题集合W的主题w1,w2,...,wn,n代表集合W中的主题个数;
步骤2.1:订阅服务商初始化一个更新字典;
步骤2.2:对Dc中的每个子集
Figure FDA0003572139670000021
执行以下步骤:
步骤2.2.1:使用两条哈希链U、V,和哈希链集合S计算加密密钥;
步骤2.2.2:使用主密钥k和两条哈希链U、V,计算头索引;
步骤2.2.3:设d是
Figure FDA0003572139670000022
中的第j条数据,对
Figure FDA0003572139670000023
中的每条数据d执行以下步骤:
步骤2.2.3.1:若d为
Figure FDA0003572139670000024
中的最后一条数据,且当前更新次数c>1,则利用主密钥k和集合S生成后继索引;否则,随机生成一串比特,作为后继索引;
步骤2.2.3.2:得到当前索引;当j=1时,当前索引为步骤2.2.2中产生的头索引;否则,当前索引为第j-1次执行步骤2.2.3.1时产生的后继索引;
步骤2.2.3.3:使用步骤2.2.3.2中产生的当前索引与哈希链集合S计算异或密钥,将异或密钥与步骤2.2.3.1中产生的后继索引进行异或操作,得到异或后的后继索引;
步骤2.2.3.4:使用私钥sk计算对数据d的签名,将签名和使用哈希链集合S与步骤2.2.3.2中产生的当前索引计算的密钥进行异或操作,得到异或后的数字签名;
步骤2.2.3.5:使用步骤2.2.1中产生的加密密钥对d加密,得到加密后的密文数据;
步骤2.2.3.6:将当前的更新次数c、异或后的后继索引、异或后的数字签名以及加密后的密文数据,进行拼接;以步骤2.2.3.2中产生的当前索引作为查询索引作为查询索引,以拼接后的数据所谓查询索引对应的值,构造键值对,并添加到更新字典中;
步骤2.3:订阅服务商将更新字典上传到区块链;
步骤3包括以下步骤:
设用户订阅由第a次更新到第b次更新之间的主题为w的所有数据;订阅服务商在收到用户支付的相应费用后,根据用户的订阅请求,生成并分发订阅密钥;
步骤3.1:从哈希链U中找到第a个哈希ua,从哈希链V中找到第b个哈希vb
步骤3.2:从哈希链集合S中找到和主题w相关的哈希链Sw,并从Sw中找到第b个哈希hb
步骤3.3:将ua、vb、hb和主密钥k通过安全信道发送给用户;
步骤4包括以下步骤:
设用户查询由第p次更新到第q次更新之间主题为w的所有数据,其中订阅查询需满足p<q、p≥a以及q≤b;用户首先生成订阅查询令牌,并发送到区块链网络,智能合约在收到查询令牌后,执行查询操作,向用户返回密文形式的查询结果;
步骤4.1:用户使用从订阅服务商中获取的哈希hb,计算b-q次哈希值,得到哈希hq
步骤4.2:用户使用hq和步骤3获取的密钥k,计算头索引;
步骤4.3:用户生成查询令牌,包括p、q、hq和步骤4.2中产生的头索引;
步骤4.4:用户将查询令牌发送给区块链智能合约;
步骤4.5:智能合约在收到用户的查询令牌后,解析令牌得到p、q、hq和头索引,并初始化查询结果集合;
步骤4.6:智能合约将当前索引设置为步骤4.5中解析得到的头索引;
步骤4.7:智能合约在区块链中查询当前索引对应的值,若值非空,执行步骤4.7.1-4.7.6;否则,执行步骤4.8:
步骤4.7.1:将查询到的值解析为四部分,包括更新次数c、异或后的后继索引、异或后的数字签名、密文数据;
步骤4.7.2:使用步骤4.3中解析得到的哈希hq,计算q-c次哈希值,得到哈希hc
步骤4.7.3:将从步骤4.7.1中解析得到的异或后的后继索引、步骤4.7.2中计算的哈希hc,与当前索引计算得到的异或密钥进行异或操作,恢复出后继索引;
步骤4.7.4:将从步骤4.7.1中解析得到的异或后的数字签名、步骤4.7.2中计算的哈希hc,与当前索引计算得到的异或密钥进行异或操作,恢复出数字签名;
步骤4.7.5:将从步骤4.7.1中解析得到的更新次数、从步骤4.7.4中得到的数字签名与从步骤4.7.1中解析得到的密文数据进行拼接,加入查询结果集合;
步骤4.7.6:将当前索引设置为从步骤4.7.3中得到的后继索引;
步骤4.8:智能合约向用户返回查询结果集合;
步骤5包括以下步骤:
步骤5.1:初始化一个签名集合与一个解密数据集合;
步骤5.2:对于查询结果集合中的每个条目,用户将其解析为三部分,包括更新次数c、数字签名、密文数据,并执行以下步骤:
步骤5.2.1:使用步骤3中从订阅服务商中获取的哈希ua,计算c-a次哈希值,得到哈希uc
步骤5.2.2:使用步骤3中从订阅服务商中获取的哈希vb,计算b-c次哈希值,得到哈希vc
步骤5.2.3:使用步骤3中从订阅服务商中获取的哈希hb,计算b-c次哈希值,得到哈希hc
步骤5.2.4:使用步骤5.2.1-5.2.3中得到的uc、vc和hc计算解密密钥;
步骤5.2.5:使用步骤5.2.4中得到的解密密钥,解密步骤5.2中解析得到的密文数据,得到解密后的数据;
步骤5.2.6:将步骤5.2中解析得到的数字签名加入签名集合,将步骤5.2.5中得到的解密后的数据加入解密数据集合;
步骤5.3:使用执行步骤5.2后得到的签名集合与解密数据集合,批量验证数字签名的合法性;若验证通过,则将解密数据集合视作订阅查询得到的查询结果;若不通过,则移除那些导致批量验证不通过的无效签名信息与解密数据信息,将移除无效数据后得到的解密数据集合视作订阅查询得到的查询结果。
CN202210327669.6A 2022-03-30 2022-03-30 一种区块链车联网中的隐私保护数据订阅方法 Pending CN114726503A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210327669.6A CN114726503A (zh) 2022-03-30 2022-03-30 一种区块链车联网中的隐私保护数据订阅方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210327669.6A CN114726503A (zh) 2022-03-30 2022-03-30 一种区块链车联网中的隐私保护数据订阅方法

Publications (1)

Publication Number Publication Date
CN114726503A true CN114726503A (zh) 2022-07-08

Family

ID=82238784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210327669.6A Pending CN114726503A (zh) 2022-03-30 2022-03-30 一种区块链车联网中的隐私保护数据订阅方法

Country Status (1)

Country Link
CN (1) CN114726503A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114912856A (zh) * 2022-07-19 2022-08-16 安胜(天津)飞行模拟系统有限公司 一种基于区块链的飞行模拟器维护方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114912856A (zh) * 2022-07-19 2022-08-16 安胜(天津)飞行模拟系统有限公司 一种基于区块链的飞行模拟器维护方法
CN114912856B (zh) * 2022-07-19 2022-09-30 安胜(天津)飞行模拟系统有限公司 一种基于区块链的飞行模拟器维护方法

Similar Documents

Publication Publication Date Title
CN112019591B (zh) 一种基于区块链的云数据共享方法
CN107196966B (zh) 基于区块链的多方信任的身份认证方法和系统
CN107491497B (zh) 支持任意语言查询的多用户多关键词排序可搜索加密系统
US7260215B2 (en) Method for encryption in an un-trusted environment
CN109257184B (zh) 基于匿名广播加密的可链接环签名方法
US7570759B2 (en) System and method for secure encryption
US10880100B2 (en) Apparatus and method for certificate enrollment
CN110971411B (zh) 一种基于sotp技术对私钥乘加密的sm2同态签名方法
CN106850566B (zh) 一种数据一致性校验的方法及装置
US20210152370A1 (en) Digital signature method, device, and system
CN112383550B (zh) 一种基于隐私保护的动态权限访问控制方法
CN113489591B (zh) 一种基于多授权中心的可追踪比较属性加密方法
CN114036539A (zh) 基于区块链的安全可审计物联网数据共享系统及方法
CN110351297B (zh) 一种应用于区块链的验证方法及装置
CN114021164B (zh) 基于区块链的征信系统隐私保护方法
Ghosal et al. STRIDE: Scalable and secure over-the-air software update scheme for autonomous vehicles
JP2017524306A (ja) 暗号化操作における悪意のある変更に対する保護
CN111212400A (zh) 基于秘密共享和移动终端的抗量子计算车联网系统及其认证方法
CN109565440B (zh) 密钥交换方法,密钥交换系统
CN114448641A (zh) 一种隐私加密方法、电子设备、存储介质以及芯片
CN114021006A (zh) 一种多维数据的安全查询方法及装置
CN108737383B (zh) 一种可混淆的匿名认证方法
CN114726503A (zh) 一种区块链车联网中的隐私保护数据订阅方法
CN108199836B (zh) 一种密钥与设备绑定、解绑定的方法及装置
GB2488753A (en) Encrypted communication

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