CN112187712B - 一种去中心移动众包中对信任的匿名认证方法及系统 - Google Patents

一种去中心移动众包中对信任的匿名认证方法及系统 Download PDF

Info

Publication number
CN112187712B
CN112187712B CN202010828585.1A CN202010828585A CN112187712B CN 112187712 B CN112187712 B CN 112187712B CN 202010828585 A CN202010828585 A CN 202010828585A CN 112187712 B CN112187712 B CN 112187712B
Authority
CN
China
Prior art keywords
trust
node
data
key
klist
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
Application number
CN202010828585.1A
Other languages
English (en)
Other versions
CN112187712A (zh
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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN202010828585.1A priority Critical patent/CN112187712B/zh
Publication of CN112187712A publication Critical patent/CN112187712A/zh
Application granted granted Critical
Publication of CN112187712B publication Critical patent/CN112187712B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/83Indexing scheme relating to error detection, to error correction, and to monitoring the solution involving 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)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Bioethics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明属于数据处理技术领域,公开了一种去中心移动众包中对信任的匿名认证方法及系统,在区块链系统注册的节点生成新的公私钥对,生成密钥变更请求发送给云服务器的可信执行环境,云服务器对节点密钥变更信号进行处理,秘密链接信任评估结果,在所述区块链系统上发布密钥变更结果;签名验证节点用变更后的私钥签名消息通过区块链系统对签名节点进行信任认证。本发明根据需要选择RSA等所有的公钥签名机制,包含的基于行为的信任评估方案,并不限于使用布鲁姆过滤器。包含的基于反馈的信任评估方案,权重的计算可以采用基于博弈论的方法、基于机器学习的方案以及基于信任理论的方法。

Description

一种去中心移动众包中对信任的匿名认证方法及系统
技术领域
本发明属于数据处理技术领域,尤其涉及一种基于区块链的去中心移动众包中对信任的匿名认证方法及系统。
背景技术
移动众包(Mobile Crowdsourcing,MCS)是借助移动设备采集数据的新型数据采集系统。传统的MCS基于中心化架构,面临单点故障以及不可信中心实体导致的安全、隐私和信任问题。因此需要设计去中心化的MCS系统。
然而,去中心化的MCS系统缺乏可信中心评估并保证节点信任,因而需要去中心化的信任评估并支持对节点信任的认证。考虑到节点对身份隐私和数据隐私的需求,需要实现对信任的匿名认证,即匿名信任认证。
在MCS中,信任信息有助于选择一组可靠的工作者来完成任务,从而保证采集的数据质量。信任评估是匿名信任认证的基础。现如今,有许多用于评估MCS工作节点和用户的信任的方案。任等人提出了一种基于任务完成质量和工作节点竞标信息的信任评估方案。但是,他们没有考虑工作节点的专业知识、位置等众多属性。Huang等进一步考虑了工作节点的属性,例如专业知识和位置,以提高评估的精确性,但是该方案未考虑信任中的主观因素。因此,以上方案无法评估MCS节点的准确信任。针对这些方案,EndorTrust被提出,该方案同时考虑了工作节点的个人属性以及用户对工作节点任务完成质量的反馈。然而,EndorTrust主要针对于工作节点在任务执行的可信性,而针对工作节点的其他恶意行为,如搭便车攻击、重复数据上传等攻击,EndorTrust无法有效处理。综上所述,缺乏一种综合考虑主观和客观因素的信任评估方案。
匿名认证被应用在很多系统中以在保护隐私的前提下验证系统节点身份的合法性,如VANET,社交网络,移动自组网(MANET)等。其中,一个基本的实现匿名化的方法是使用假名而非节点真实身份进行通信,并经常更改假名以避免恶意跟踪。这种方法的主要缺点是,它给信任评估带来了额外的困难,因为在更换假名时,系统需要将节点信任从该节点撤销的假名映射到其更改后的新假名。现有的工作通常假设存在一个可信中心负责节点假名的维护和信任评估。因此,可信中心能够根据节点的假名追踪节点的活动。因此,基于假名的方案不适用于不存在任何可信中心的去中心化的系统中。
一种流行的实现匿名认证的方法是借助群签名。群签名允许一个节点代表一组节点(简称为群)对消息进行签名。因此,攻击者无法根据签名从群成员中识别签名的生成者,因而无法有效追踪节点的活动。然而,群签名的密钥撤销是一个未解决的问题,目前尚不存在高效的群私钥撤销方法。为了克服群签名的弱点,Jiang等人提出使用基于哈希的消息认证码(HMAC)来实现有效的群私钥撤销。然而,该方案依赖于可信中心以及可信执行环境的使用(Trusted Execution Environment,TEE),因而应用场景有限,且不适用于去中心的系统中。其他一些方案采用环签名来实现匿名,这有助于将真实签名者隐藏在一组用户中。它可以有效保护身份隐私并抵御恶意跟踪。但是,环签名不能在去中心的环境中有效的支持信任评估,这是由于去中心化的系统中,不存在可信实体管理环签名、追踪节点行为以评估节点的信任。总而言之,现有的匿名身份验证方案要么不能以去中心的方式保护节点身份隐私,要么不能支持去中心的精确的信任评估。因此,这些方案不能直接应用于基于区块链的MCS系统。
一种应用于去中心化的MCS系统的匿名认证方案为ZebraLancer。ZebraLancer允许节点使用零知识证明方法向其他节点认证自己身份的合法性,借助于可信的身份管理中心,该方案能够有效阻止匿名工作节点提交重复数据到同一任务以谋取更多利益。然而,基于零知识证明的方法效率较差,且借助可信中心完成节点身份管理引入了单点故障的风险。因此,该方案在安全性和效率上存在缺陷。
通过上述分析,现有技术存在的问题及缺陷为:(1)基于区块链智能合约的信任评估方法成本较高,效率较差,且缺乏对节点信任相关数据的隐私保护。
(2)基于零知识证明的去中心的认证方法,生成证明时间较长,效率较差。
(3)基于区块链构建公钥基础设施(Public Key Infrastructure,PKI)的去中心化的认证方法,由于区块链公开透明特性,无法防止攻击者追踪节点行为。
……
解决以上问题及缺陷的难度为:防追踪的密钥去中心化的更新存在难题。
去中心化的信任评估的隐私保护存在难题。去中心化的信任评估的可信性与效率存在矛盾;基于区块链的移动众包系统的匿名信任认证存在难题。
解决以上问题及缺陷的意义为:能够有效的实现精确的信任评估并支持对隐私的保护,有利于构建实用、可信的去中心化的MCS系统。具体如下:
(1)提出的信任评估从节点反馈和节点行为两个节点评估节点信任,能够实现精确的信任评估,评估的信任能够帮助MCS节点有效鉴别其他节点的可信性,从而做出正确决策。
(2)支持对节点的信任认证,能够帮助MCS用户选择可信度、可靠性较高的工作节点执行任务,从而保证任务的高质量执行。
发明内容
为了解决现有技术存在的问题,本发明提供了一种去中心移动众包中对信任的匿名认证方法及系统,一种基于区块链的去中心移动众包中对信任的匿名认证方法及系统。
本发明是这样实现的,一种去中心移动众包中对信任的匿名认证方法,包括:
区块链系统注册后的节点生成新的公私钥对,生成密钥变更请求发送给云服务器的可信执行环境,所述云服务器对节点密钥变更信号进行处理,并将处理的节点密钥变更信号在所述区块链系统上发布密钥变更结果;
节点中的签名验证端利用所述密钥变更结果中变更后的私钥签名消息对签名端进行信任认证。
进一步,云服务器在区块链系统上发布密钥变更结果的方法进一步包括:
1)节点生成密钥变更信号,发送给ENcs
2)ENcs处理密钥变更信号,并评估节点信任,生成密钥变更结果;
3)ENcs将密钥变更结果发布在区块链系统上。
进一步,所述步骤1)生成密钥变更信号的方法包括:
1.1)Ni生成新的私钥
Figure GDA0003244871690000041
和对应的公钥
Figure GDA0003244871690000042
使用旧的私钥
Figure GDA0003244871690000043
Figure GDA0003244871690000044
生成签名
Figure GDA0003244871690000045
1.2)Ni选择加密密钥K,加密消息
Figure GDA0003244871690000046
得到密文
Figure GDA0003244871690000047
1.3)Ni使用ENcs的公钥加密K,得到密钥的密文
Figure GDA0003244871690000048
1.4)Ni生成密钥变更信号
Figure GDA0003244871690000049
并将
Figure GDA00032448716900000410
发送给ENcs
所述步骤2)进一步包括:
2.1)ENcs解密
Figure GDA00032448716900000411
得到信号明文
Figure GDA00032448716900000412
并验证签名的有效性;
2.2)签名验证通过后,ENcs
Figure GDA00032448716900000413
插入公钥撤销列表KListrev中;
2.3)ENcs评估节点Ni的信任值
Figure GDA00032448716900000414
并将
Figure GDA00032448716900000415
映射到离散的信任等级
Figure GDA00032448716900000416
并生成信任评估可信性验证的证明πDT
2.4)ENcs将Ni变更后的公钥
Figure GDA00032448716900000417
和对应的信任等级
Figure GDA00032448716900000418
插入到公钥变更列表KListalt中;
2.5)当ENcs等待足够时间或KListalt的长度达到阈值时,使用随机排列函数Permλ(·)以及两个不同的随机种子λ1和λ2对KListrev和KListalt进行处理,得到
Figure GDA00032448716900000419
2.6)ENcs使用私钥对KList′rev||KList′alt||πDT生成签名
Figure GDA00032448716900000420
并发布到区块链系统上;
2.7)区块链矿工验证签名
Figure GDA00032448716900000421
的有效性,验证通过后验证πDT的正确性,验证通过,将
Figure GDA00032448716900000422
记录在区块链系统上。
进一步,所述步骤2.3)的信任评估方法包括:
2.3.1)ENcs向数据存储系统请求与Ni信任相关的反馈数据和行为数据密文
Figure GDA0003244871690000051
2.3.2)ENcs向对应的数据拥有者请求数据的解密密钥,并加密数据密文得到数据铭文
Figure GDA0003244871690000052
2.3.3)ENcs向区块链请求对应数据的消息摘要和签名,验证消息的完整性;
2.3.4)ECcs基于反馈数据评估Ni基于反馈的信任
Figure GDA0003244871690000053
2.3.5)ECcs基于行为数据评估Ni基于节点行为的信任
Figure GDA00032448716900000511
2.3.6)ECcs整合节点的综合信任
Figure GDA0003244871690000054
2.3.7)ENcs将信任评估中与信任相关的数据的摘要放入数据摘要列表
Figure GDA0003244871690000055
2.3.8)对于n个变更密钥的节点N0,N1,...,Nn-1,对应的信任评估可信性证明πDT计算方法为:
Figure GDA0003244871690000056
进一步,所述步骤2.3.4)的基于反馈的信任评估方法包括:ENcs在每次任务结束后,收集参与该任务的节点互相之间生成的反馈。对于节点Nj,本发明使用TEi→j,r,id表示节点Ni对Nj生成的、关于Nj在任务id中的关于角色r的行为生成的反馈,则信任评估公式为:
Figure GDA0003244871690000057
其中,
Figure GDA0003244871690000058
是反馈与反馈均值的偏差,
Figure GDA0003244871690000059
wi→j,r,id是根据Ni的收益、信任和历史行为计算得到的反馈TEi→j,r,id的权重。
Figure GDA00032448716900000510
是节点Nj的最新信任值,kj是记录该信任值的区块的编号,ki是当前区块的编号,τ是衡量历史信任在信任评估中的影响的因子;
所述步骤2.3.5)的基于节点行为的信任评估方法包括:
2.3.5.1)对于节点Nj的基于行为的信任评估,ENcs首先请求Nj的行为数据密文,解密后生成Nj的行为集合BEj,用b∈BEj表示节点Nj关于角色r的一个行为;
2.3.5.2)ENcs加载预先记录在区块链上的两个布鲁姆过滤器Bt和Bd,其中Bt存储可信行为模板,Bd存储不可信行为模板;
2.3.5.3)ENcs生成两个变量P和NP,并将值初始化为0;
2.3.5.4)对于Nj的任意一个行为b∈BEj,ENcs依次匹配Bt和Bd中的模板;如果b符合模板pt∈Bt,则ENcs查询pt的权重ωpt并计算P=P+ωpt;如果b符合模板pt∈Bd,则ENcs查询pt的权重ωpt并计算NP=NP+ωpt;ENcs计算Nj基于行为的信任
Figure GDA0003244871690000061
进一步,所述进行信任认证的方法包括:
(I)节点Ni使用合法私钥
Figure GDA0003244871690000062
对消息M生成签名
Figure GDA0003244871690000063
并将签名和公钥
Figure GDA0003244871690000064
发送给消息验证方Nj
(II)Nj验证签名是否合法;
(III)Nj在区块链中查询
Figure GDA0003244871690000065
是否为合法公钥,如果合法,则继续查找对应的信任值,进行对节点Ni的信任认证。
进一步,区块链系统注册节点的方法包括:
步骤1,系统初始化:云服务器下载节点密钥管理与信任评估的代码,建立SGX可信执行环境,生成公私钥,并向区块链系统注册建立的SGX可信执行环境;
步骤2,节点注册:节点生成自己的公私钥对,并向云服务器建立的SGX可信执行环境完成对公钥的注册,云服务器处理节点注册信号,并向区块链注册节点公钥。
本发明的另一目的在于提供一种去中心移动众包中对信任的匿名认证包括:
区块链系统,包括上一个区块Bk-1的哈希值、生成区块Bk的时间戳TSk、不同服务器建立的SGX可信执行环境的公钥、Bk的创建者Mj以及与MCS相关的数据哈希值列表
Figure GDA0003244871690000066
用于BC记录四种与MCS任务相关的数据的摘要,即任务内容、竞拍消息、工作节点酬劳信息、任务完成质量评估结果,全部数据内容以密文形式存储在Sstr中;所有数据哈希均按其任务标识IDTask进行组织;
节点,通过配置云服务器通过可信执行环境ENcs完成节点的密钥更改和信任评估;
外部存储系统,用于MCS相关的数据,包括节点反馈和行为数据。
进一步,所述节点,包括MCS用户端、工作节点、矿工节点、数据存储节点和配置SGX的云服务器并通过各网络相互连接;
其中,MCS用户端使用MCS系统将任务分配给一组工作节点执行任务;
工作节点利用移动设备作为数据收集传感器完成任务;
矿工节点,用于维护区块链系统;
云服务器通过SGX可信执行环境ENcs完成节点的密钥更改和信任评估;
数据存储节点用于存储与节点信任相关的数据,数据拥有端将数据加密后存放在存储系统中,并在区块链上保存消息摘要、存储位置以及签名,以支持数据访问与完整性校验;
区块链系统还用于记录撤销的公钥列表KListrev、变更后的公钥列表KListalt、公钥注册列表KListreg以及密钥变更过程中评估信任输入数据的数据摘要πDT,用于评估KListrev中的公钥信任;KListrev包括撤销的公钥,KListalt中的元素包含变更后的公钥以及对应的信任,KListreg包含所有新注册的公钥。
本发明的另一目的在于提供一种接收用户输入程序存储介质,所存储的计算机程序使电子设备执行所述去中心移动众包中对信任的匿名认证方法,包括下列步骤:(1)系统初始化:具有SGX的云服务器下载节点密钥管理与信任评估的代码,建立SGX可信执行环境,生成公私钥,并向区块链系统注册建立的SGX可信执行环境;
(2)节点注册:节点生成自己的公私钥对,并向云服务器建立的SGX可信执行环境完成对公钥的注册,后者处理节点注册信号,并向区块链注册节点公钥;
(3)密钥更新与撤销:节点生成新的公私钥对,生成密钥变更请求发送给云服务器的SGX可信执行环境,云服务器处理节点密钥变更信号,并在区块链上发布密钥变更结果;
(4)对信任的匿名认证:节点使用变更后的私钥签名消息,签名验证端在区块链的帮助下完成对签名端的信任的认证。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:
本发明提供的基于SGX和区块链的密钥变更方法,能够防止攻击者追踪节点行为,有效保护节点身份隐私;能够有效支持节点之间互相验证信任,保障MCS任务的可信执行,实现可信的去中心MCS系统的构建。
本发明提供的基于SGX和区块链的去中心的具有隐私保护的信任评估,能够保护信任评估过程中节点信任信息的隐私,因此,即使缺乏可信中心提供数据机密性保护,仍然能够有效防止数据泄露,也能够有效提高用户体验,吸引移动节点参与。
本发明提供了一种基于节点反馈和行为的综合信任评估,并提供了一种基于行为模板匹配的信任评估方法。该信任评估机制能够精确评估节点信任,不仅为节点之间的信任认证提供支持,也有助于选取可信工作节点和评估任务完成质量。
相比于现有技术,本发明的优点进一步包括:本发明不依靠任何可信中心,不存在单点故障难题;本发明能够实现高效且保护隐私的信任评估,现有的方案基于智能合约,效率较差;本发明支持对信任的匿名认证,现有的方案大多不支持对信任的认证。
本发明中包含的外部存储系统,可以使用包含云存储、分布式存储等在内的所有存储系统。外部存储系统中使用的加密方案,可以根据需要选择对称加密、公钥加密、基于属性的加密(Attribute-Based Encryption,ABE)、同态/半同态加密、功能加密等所有加密方式。
本发明中使用的签名方案,在实际中可以根据需要选择RSA等所有的公钥签名机制。包含的基于行为的信任评估方案,并不限于使用布鲁姆过滤器。包含的基于反馈的信任评估方案,权重的计算可以采用基于博弈论的方法、基于机器学习的方案以及基于信任理论的方法。
结合实验或试验数据和现有技术对比得到的效果和优点:现有的针对去中心化的MCS的认证方案主要包含基于零知识证明的认证方案,代表方案为ZebraLancer。同ZebraLancer方案相比,本发明的优势在于三点:
(1)本发明的方案能够支持对信任的认证,且能够应用于MCS不同阶段(如节点选择、任务执行结果提交、信任评估等)的认证,而ZebraLancer仅仅适用于任务执行结果提交阶段,且不支持对信任的认证。
(2)本发明的方案不依赖于可信中心,而ZebraLancer需要可信中心完成节点身份注册。
(3)本发明的方案能够根据需要支持不同的签名机制,同ZebraLancer相比,能够大幅度提高效率。具体的,使用RSA签名机制时,本发明的方案中签名生成与验证的时间分别为0.885ms和0.972ms,而ZebraLancer生成证明和证明验证的时间分别为63s和6.2ms。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的去中心移动众包中对信任的匿名认证方法流程图。
图2是本发明实施例提供的去中心移动众包中对信任的匿名认证系统图。
图3是本发明实施例提供的区块链系统示意图。
图4是本发明实施例提供的有关MCS节点生成密钥更改信号和云服务器处理密钥更改信号的密钥更改信号的数量的运算时间示意图。
图5是本发明实施例提供绘制的关于签名生成和信任身份验证的消息数的运算时间示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现有技术中,基于区块链智能合约的信任评估方法成本较高,效率较差。基于零知识证明的去中心的认证方法,生成证明时间较长,效率较差。基于区块链构建公钥基础设施(Public Key Inffrastructure,PKI)的去中心化的认证方法,由于区块链公开透明特性,无法防止攻击者追踪节点行为。
针对现有技术存在的问题,本发明提供了一种去中心移动众包中对信任的匿名认证方法及系统,下面结合附图对本发明作详细的描述。
如图1所示,本发明提供一种去中心移动众包中对信任的匿名认证方法,包括下列步骤:
S101,系统初始化:具有SGX的云服务器下载节点密钥管理与信任评估的代码,建立SGX可信执行环境,生成公私钥,并向区块链系统注册建立的SGX可信执行环境。
S102,节点注册:节点生成自己的公私钥对,并向云服务器建立的SGX可信执行环境完成对公钥的注册,后者处理节点注册信号,并向区块链注册节点公钥。
S103,密钥更新与撤销:节点生成新的公私钥对,生成密钥变更请求发送给云服务器的SGX可信执行环境,云服务器处理节点密钥变更信号,将撤销后的密钥发布在区块链上完成密钥撤销,并将具有相同信任值的更新后的公钥聚集在一起,并将密钥顺序充分混淆后连同信任值一起发布在区块链上。
S104,对信任的匿名认证:节点使用变更后的私钥签名消息,签名验证端对信任的匿名认证:节点使用变更后的私钥签名消息,签名验证端验证签名有效性,并在区块链上查询公钥对应的信任值,从而完成对信任的匿名认证。
下面结合具体实施例对本发明作进一步描述。
实施例
图2是本发明实施例提供的去中心移动众包中对信任的匿名认证系统中,MCS的节点(包括移动设备、个人计算机和服务器)通过各种网络(例如蜂窝网络、MAENT、Wi-Fi等)连接在一起,主要包含5种类型的节点,即MCS用户、工作节点、矿工、数据存储节点和配置SGX的云服务器。其中,用户是无法完成数据收集任务的节点,因此使用MCS系统将任务分配给一组移动用户(即工作节点)以执行该任务;工作节点是利用其移动设备作为数据收集传感器来完成任务的移动用户;矿工共同维护区块链系统。为了方便表述,本发明使用BC={B0,B1,...,Bk}表示区块链,其中Bi(0≤i≤k)表示的区块链的第i个区块。本发明利用区块链来代替中心式的MCS服务提供商来管理MCS任务和节点;配置SGX的云服务器通过SGX可信执行环境ENcs来完成节点的密钥更改和信任评估;存储节点用于存储与节点信任相关的数据,数据拥有者将数据加密后存放在存储系统中,并在区块链上保存消息摘要、存储位置以及签名,以支持数据访问与完整性校验。本发明方案支持多个配置SGX的高性能节点同时工作以抵抗单点故障难题。
在本发明区块链系统中,如图3MCS-Chain+的区块链系统。它由上一个区块Bk-1的哈希值、生成区块Bk的时间戳TSk、不同服务器建立的SGX可信执行环境的公钥、Bk的创建者Mj以及与MCS相关的数据哈希值列表
Figure GDA0003244871690000111
具体的,BC记录了四种与MCS任务相关的数据的摘要,即任务内容、竞拍消息、工作节点酬劳信息、任务完成质量评估结果,而全部数据内容以密文形式存储在Sstr中。所有数据哈希均按其任务标识IDTask进行组织。此外,它还记录撤销的公钥列表KListrev、变更后的公钥列表KListalt、公钥注册列表KListreg以及密钥变更过程中评估信任输入数据的数据摘要πDT,用于评估KListrev中的公钥信任。KListrev包含撤销的公钥,KListalt中的元素包含变更后的公钥以及对应的信任,KListreg包含所有新注册的公钥。
在本发明外部存储系统中,MCS-Chain+包含一个由Sstr标识的额外存储系统。存储系统存储MCS相关的数据,包括节点反馈和行为数据,而BC仅记录数据这些数据的摘要及签名以支持数据完整性验证。具体的,当节点Ni想要存储一条数据dt时,它选择加密密钥K对dt进行加密,并将加密的数据ct发送到Sstr。它还会将dt的哈希值H(dt)以及对H(dt)的签名发送到BC进行记录。当由CS建立的可信执行环境ENcs需要范文dt时,它将通过安全通道从N_i获取解密密钥$K$,并从Sstr请求ct。然后,ENcs可以在可信执行环境中使用K解密ct,并使用BC中的H(dt)和签名验证接收数据的完整性。
在本发明任务执行流程中,MCS-Chain+中任务执行的过程可以描述如下。EU可以将任务发布到BC,并且对该任务感兴趣的工作节点可以使用其属性(例如位置、专业水平、计算能力等)来提交对该任务的请求。被EU选中的工作节点执行任务并将其任务执行结果存储到Sstr中,并在BC上记录消息摘要和签名。所有数据,包括任务请求数据、工作节点属性和任务执行结果,都由外部存储系统Sstr存储,而BC仅记录其摘要。
在本发明提供的去中心移动众包中对信任的匿名认证方法可以为基于SGX的去中心的对信任的匿名认证方案,主要包括以下步骤:
(1)系统初始化:具有SGX的云服务器下载节点密钥管理与信任评估的代码,建立SGX可信执行环境,生成公私钥,并向区块链系统注册建立的SGX可信执行环境。
(2)节点注册:节点生成自己的公私钥对,并向云服务器建立的SGX可信执行环境完成对公钥的注册,后者处理节点注册信号,并向区块链注册节点公钥。
(3)密钥更新与撤销:节点生成新的公私钥对,生成密钥变更请求发送给云服务器的SGX可信执行环境,后者处理节点密钥变更信号,并在区块链上发布密钥变更结果。
(4)对信任的匿名认证:节点使用变更后的私钥签名消息,签名验证者在区块链的帮助下完成对签名者的信任的认证。
在本发明实施例中,本发明步骤(1)中,所示的系统初始化,主要包含如下步骤:
(a)CS从区块链或社区下载用于密钥管理和信任评估的代码code,并使用code建立了一个SGX可信执行环境ENcs
(b)ENcs生成SGX可信执行环境正确建立的证明
Figure GDA0003244871690000131
生成一对公钥
Figure GDA0003244871690000132
和私钥
Figure GDA0003244871690000133
并将
Figure GDA0003244871690000134
Figure GDA0003244871690000135
发送给区块链。
(c)区块链矿工在英特尔服务器的协助下验证
Figure GDA0003244871690000136
的正确性以验证SGX可信执行环境是否正确建立,如果验证通过,则在区块链上记录
Figure GDA0003244871690000137
Figure GDA0003244871690000138
(d)当包含
Figure GDA0003244871690000139
Figure GDA00032448716900001310
的区块被区块链系统接收为合法区块时,ENcs生效并开始工作。
在本发明实施例中,步骤(2)所示的节点注册,主要包含如下步骤:
(i)节点Ni生成密钥对
Figure GDA00032448716900001311
Figure GDA00032448716900001312
(ii)节点Ni使用私钥
Figure GDA00032448716900001313
Figure GDA00032448716900001314
生成签名
Figure GDA00032448716900001315
(iii)节点Ni选择加密密钥K对
Figure GDA00032448716900001316
Figure GDA00032448716900001317
进行加密,得到密文
Figure GDA00032448716900001318
(iv)节点Ni使用ENcs的公钥加密K,得到K的密文
Figure GDA00032448716900001319
(v)节点Ni生成节点注册信号
Figure GDA00032448716900001320
并将
Figure GDA00032448716900001321
发送给ENcs
(vi)ENcs解密
Figure GDA00032448716900001322
得到
Figure GDA00032448716900001323
并验证签名,并将验证通过的公钥插入到公钥注册列表KListreg中。
(vii)ENcs的公钥注册列表中公钥个数超过阈值时,对KListreg进行签名并发布到区块链上,并清空KListreg
(viii)当KListreg被记录在区块链后,列表中包含的公钥生效,节点可以使用列表中的公钥进行通信。
在本发明实施例中,步骤(3)所示的密钥更新和撤销,主要包含如下步骤:
1)节点生成密钥变更信号,发送给ENcs
2)ENcs处理密钥变更信号,并评估节点信任,生成密钥变更结果。
3)ENcs将密钥变更结果发布在区块链上。
在本发明实施例中,步骤1)所示的生成密钥变更信号的过程,主要包含如下步骤
1.1)Ni生成新的私钥
Figure GDA0003244871690000141
和对应的公钥
Figure GDA0003244871690000142
使用旧的私钥
Figure GDA0003244871690000143
Figure GDA0003244871690000144
生成签名
Figure GDA0003244871690000145
1.2)Ni选择加密密钥K,加密消息
Figure GDA0003244871690000146
得到密文
Figure GDA0003244871690000147
1.3)Ni使用ENcs的公钥加密K,得到密钥的密文
Figure GDA0003244871690000148
1.4)Ni生成密钥变更信号
Figure GDA0003244871690000149
并将
Figure GDA00032448716900001410
发送给ENcs
在本发明实施例中,步骤2)中的过程,主要包含如下步骤:
2.1)ENcs解密
Figure GDA00032448716900001411
得到信号明文
Figure GDA00032448716900001412
并验证签名的有效性。
2.2)签名验证通过后,ENcs
Figure GDA00032448716900001413
插入公钥撤销列表KListrev中。
2.3)ENcs评估节点Ni的信任值
Figure GDA00032448716900001414
并将
Figure GDA00032448716900001415
映射到离散的信任等级
Figure GDA00032448716900001416
并生成信任评估可信性验证的证明πDT
2.4)ENcs将Ni变更后的公钥
Figure GDA00032448716900001417
和对应的信任等级
Figure GDA00032448716900001418
插入到公钥变更列表KListalt中。
2.5)当ENcs等待足够时间或KListalt的长度达到阈值时,使用随机排列函数Permλ(·)以及两个不同的随机种子λ1和λ2对KListrev和KListalt进行处理,得到
Figure GDA00032448716900001424
Figure GDA00032448716900001425
2.6)ENcs使用私钥对KList′rev||KList′alt||πDT生成签名
Figure GDA00032448716900001419
并发布到区块链上。
2.7)区块链矿工验证签名
Figure GDA00032448716900001420
的有效性,验证通过后验证πDT的正确性,验证通过,将
Figure GDA00032448716900001421
记录在区块链上。
在本发明实施例中,步骤2.3)所示的信任评估过程,主要包含如下步骤
2.3.1)ENcs向数据存储系统请求与Ni信任相关的反馈数据和行为数据密文
Figure GDA00032448716900001422
2.3.2)ENcs向对应的数据拥有者请求数据的解密密钥,并加密数据密文得到数据铭文
Figure GDA00032448716900001423
2.3.3)ENcs向区块链请求对应数据的消息摘要和签名,验证消息的完整性。
2.3.4)ECcs基于反馈数据评估Ni基于反馈的信任
Figure GDA0003244871690000151
2.3.5)ECcs基于行为数据评估Ni基于节点行为的信任
Figure GDA0003244871690000152
2.3.6)ECcs整合节点的综合信任
Figure GDA0003244871690000153
2.3.7)ENcs将信任评估中与信任相关的数据的摘要放入数据摘要列表
Figure GDA0003244871690000154
2.3.8)对于n个变更密钥的节点N0,N1,...,Nn-1,对应的信任评估可信性证明πDT计算方法为:
Figure GDA0003244871690000155
在本发明实施例中,步骤2.3.4)所示的基于反馈的信任评估过程,主要包含如下步骤:
ENcs在每次任务结束后,收集参与该任务的节点互相之间生成的反馈。对于节点Nj,本发明使用TEi→jr,id表示节点Ni对Nj生成的、关于Nj在任务id中的关于角色r的行为生成的反馈,则信任评估公式为:
Figure GDA0003244871690000156
其中,
Figure GDA0003244871690000157
是反馈与反馈均值的偏差,
Figure GDA0003244871690000158
wi→j,rid是根据Ni的收益、信任和历史行为计算得到的反馈TEi→j,r,id的权重。
Figure GDA0003244871690000159
是节点Nj的最新信任值,kj是记录该信任值的区块的编号,ki是当前区块的编号,τ是衡量历史信任在信任评估中的影响的因子。
在本发明实施例中,步骤2.3.5)所示的基于节点行为的信任评估过程,主要包含如下步骤:
2.3.5.1)对于节点Nj的基于行为的信任评估,ENcs首先请求Nj的行为数据密文,解密后生成Nj的行为集合BCj,本发明用b∈BEj表示节点Nj关于角色r的一个行为。
2.3.5.2)ENcs加载预先记录在区块链上的两个布鲁姆过滤器Bt和Bd,其中Bt存储可信行为模板,Bd存储不可信行为模板。
2.3.5.3)ENcs生成两个变量P和NP,并将它们的值初始化为0。
2.3.5.4)对于Nj的任意一个行为b∈BEj,ENcs依次匹配Bt和Bd中的模板。如果b符合模板pt∈Bt,则ENcs查询pt的权重ωpt并计算P=P+ωpt;如果b符合模板pt∈Bd,则ENcs查询pt的权重ωpt并计算NP=NP+ωpt
ENcs计算Nj基于行为的信任
Figure GDA0003244871690000161
在本发明实施例中,步骤(4)所示的对信任的匿名认证,主要包含如下步骤:
(I)节点Ni使用合法私钥
Figure GDA0003244871690000162
对消息M生成签名
Figure GDA0003244871690000163
并将签名和公钥
Figure GDA0003244871690000164
发送给消息验证方Nj
(II)Nj验证签名是否合法。
(III)Nj在区块链中查询
Figure GDA0003244871690000165
是否为合法公钥,如果合法,则继续查找对应的信任值,以完成对节点Ni的信任的认证。
改进的方案:本发明基于发明人已提出的基于区块链的去中心化的MCS系统,但同时可以兼容于现有的大部分基于区块链的MCS系统。此外,本发明构建的基础MCS-Chain可以进一步借助区块链分片(Blockchain Sharding)技术进行改进以优化效率。
此外,步骤2.3.5)中的基于反馈的信任评估方案,可以结合机器学习以进行优化。具体如下:
云服务器Enclave(或借助于基于区块链的智能合约)调用预加载的算法分析节点反馈数据,提取节点的反馈行为特征,并使用数据聚类的方法根据节点的反馈行为特征将其划分为若干簇;
(1)对于每个簇x,Encalve(或区块链智能合约)分析节点的反馈行为并建立预测模型fx(·)。对于节点Ni对Nj生成的反馈TBi→j,r,id,fx(·)以TBi→j,r,id、任务信息TIFid(包含任务类型、内容、要求等)、Ni的节点信息IFi(包含Ni的信任等级、能力等)以及Nj的节点信息IFj为输入,输出调整后的反馈
Figure GDA0003244871690000166
以及预测的概率pi→j,r,id,即:
Figure GDA0003244871690000167
Encalve使用f(·)得到
Figure GDA0003244871690000171
并通过如下公式评估Nj信任:
Figure GDA0003244871690000172
其中
Figure GDA0003244871690000173
下面结合测试对本发明的技术效果作详细的描述。
测试数据与对比:本发明应用仿真的方法来评估对匿名信任认证方案和信任评估的性能。实验测试平台为运行64位Ubuntu18.04、1.6GHz英特尔酷睿i5Quad-CPU和8G内存的笔记本电脑上;本发明使用英特尔Integrated Performance Primitives函数库在英特尔SGX SDK的模拟模式下进行了关于匿名信任认证的实验。图4和展示了有关MCS节点生成密钥更改信号和云服务器处理密钥更改信号的密钥更改信号的数量的运算时间。从图中可以看出,两种算法的运算时间与密钥变更信号的数量成线性关系。此外,这两个算法的平均运算时间分别为0.842ms和0.965ms。因此,提出的密钥变更非常有效,并且不会对密钥变更请求者或云服务器引入太多计算。图5绘制了关于签名生成和信任身份验证的消息数的运算时间。两种算法的运算时间与消息数成线性关系。为了进一步证明本发明方案的优越性,本发明将本发明的方案与ZebraLancer进行了比较,后者引入了中心式的授权中心,并使用零知识证明进行匿名身份验证。ZebraLancer花费约63s来生成用于匿名身份验证的证明,并且至少需要6.2ms的时间来验证证明的有效性。在本发明的方案中,节点仅需要在消息上生成签名,其他节点可以通过验证签名并基于BC中的公钥查询信任值来验证其信任。签名生成的平均时间为0.885ms,而基于信任的身份验证的平均时间为0.972ms,这比ZebraLancer效率更高。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

Claims (7)

1.一种去中心移动众包中对信任的匿名认证方法,其特征在于,所述去中心移动众包中对信任的匿名认证方法包括:区块链系统注册后的节点生成新的公私钥对,生成密钥变更请求发送给云服务器的可信执行环境,所述云服务器对节点密钥变更信号进行处理,并将处理的节点密钥变更信号在所述区块链系统上发布密钥变更结果;
节点中的签名验证节点利用所述密钥变更结果中变更后的私钥签名消息对签名端进行信任认证;
云服务器在区块链系统上发布密钥变更结果的方法进一步包括:
1)节点生成密钥变更信号,发送给可执行环境ENCS
2)ENCS处理密钥变更信号,并评估节点信任,生成密钥变更结果;
3)ENCS将密钥变更结果发布在区块链系统上;
所述步骤1)生成密钥变更信号的方法包括:
1.1)Ni生成新的私钥
Figure FDA0003257229330000011
和对应的公钥
Figure FDA0003257229330000012
使用旧的私钥
Figure FDA0003257229330000013
Figure FDA0003257229330000014
生成签名
Figure FDA0003257229330000015
1.2)Ni选择加密密钥K,加密消息
Figure FDA0003257229330000016
得到密文
Figure FDA0003257229330000017
1.3)Ni使用ENCS的公钥加密K,得到密钥的密文
Figure FDA0003257229330000018
1.4)Ni生成密钥变更信号
Figure FDA0003257229330000019
并将
Figure FDA00032572293300000110
发送给ENCS
所述步骤2)进一步包括:
2.1)ENCS解密
Figure FDA00032572293300000111
得到信号明文
Figure FDA00032572293300000112
并验证签名的有效性;
2.2)签名验证通过后,ENCS
Figure FDA00032572293300000113
插入公钥撤销列表KListrev中;
2.3)ENCS评估节点Ni的信任值
Figure FDA00032572293300000114
并将
Figure FDA00032572293300000115
映射到离散的信任等级
Figure FDA00032572293300000116
并生成信任评估可信性验证的证明πDT
2.4)ENCS将Ni变更后的公钥
Figure FDA00032572293300000117
和对应的信任等级
Figure FDA00032572293300000118
插入到公钥变更列表KListalt中;
2.5)当ENCS等待足够时间或KListalt的长度达到阈值时,对KListrev和KListalt进行处理,得到KList′rev和KList′alt
2.6)ENCS使用私钥对KList′rev||KList′alt||πDT生成签名
Figure FDA0003257229330000021
并发布到区块链系统上;
2.7)区块链矿工验证签名
Figure FDA0003257229330000022
的有效性,验证通过后验证πDT的正确性,验证通过,将
Figure FDA0003257229330000023
记录在区块链系统上;
所述步骤2.3)的信任评估方法包括:
2.3.1)ENCS向数据存储系统请求与Ni信任相关的反馈数据和行为数据密文
Figure FDA0003257229330000024
2.3.2)ENCS向对应的数据拥有者请求数据的解密密钥,并加密数据密文得到数据铭文
Figure FDA0003257229330000025
2.3.3)ENCS向区块链请求对应数据的消息摘要和签名,验证消息的完整性;
2.3.4)ECCS基于反馈数据评估Ni基于反馈的信任
Figure FDA0003257229330000026
2.3.5)ECCS基于行为数据评估Ni基于节点行为的信任
Figure FDA0003257229330000027
2.3.6)ECCS整合节点的综合信任
Figure FDA0003257229330000028
2.3.7)ENCS将信任评估中与信任相关的数据的摘要放入数据摘要列表
Figure FDA0003257229330000029
2.3.8)对于n个变更密钥的节点N0,N1,...,Nn-1,对应的信任评估可信性证明πDT计算方法为:
Figure FDA00032572293300000210
2.如权利要求1所述的去中心移动众包中对信任的匿名认证方法,其特征在于,所述步骤2.3.4)的基于反馈的信任评估方法包括:
ENCS在每次任务结束后,收集参与该任务的节点互相之间生成的反馈,对于节点Nj,本发明使用TEi→j,r,id表示节点Ni对Nj生成的、关于Nj在任务id中的关于角色r的行为生成的反馈,则信任评估公式为:
Figure FDA0003257229330000031
其中,
Figure FDA0003257229330000032
是反馈与反馈均值的偏差,
Figure FDA0003257229330000033
wi→j,r,id是根据Ni的收益、信任和历史行为计算得到的反馈TEi→j,r,id的权重,
Figure FDA0003257229330000039
是节点Nj的最新信任值,kj是记录该信任值的区块的编号,ki是当前区块的编号,τ是衡量历史信任在信任评估中的影响的因子;
所述步骤2.3.5)的基于节点行为的信任评估方法包括:
2.3.5.1)对于节点Nj的基于行为的信任评估,ENCS首先请求Nj的行为数据密文,解密后生成Nj的行为集合BEj,用b∈BEj表示节点Nj关于角色r的一个行为;
2.3.5.2)ENCS加载预先记录在区块链上的两个布鲁姆过滤器Bt和Bd,其中Bt存储可信行为模板,Bd存储不可信行为模板;
2.3.5.3)ENCS生成两个变量P和NP,并将值初始化为0;
2.3.5.4)对于Nj的任意一个行为b∈BEj,ENCS依次匹配Bt和Bd中的模板;如果b符合模板pt∈Bt,则NECS查询pt的权重ωpt并计算P=P+ωpt;如果b符合模板pt∈Bd,则NECS查询pt的权重ωpt并计算NP=NP+ωpt
ENCS计算Nj基于行为的信任
Figure FDA0003257229330000034
3.如权利要求1所述的去中心移动众包中对信任的匿名认证方法,其特征在于,所述进行信任认证的方法包括:
(I)节点Ni使用合法私钥
Figure FDA0003257229330000035
对消息M生成签名
Figure FDA0003257229330000036
并将签名和公钥
Figure FDA0003257229330000037
发送给消息验证方Nj
(II)Nj验证签名是否合法;
(III)Nj在区块链中查询
Figure FDA0003257229330000038
是否为合法公钥,如果合法,则继续查找对应的信任值,进行对节点Ni的信任认证。
4.如权利要求1所述的去中心移动众包中对信任的匿名认证方法,其特征在于,区块链系统注册节点的方法包括:
步骤1,系统初始化:云服务器下载节点密钥管理与信任评估的代码,建立SGX可信执行环境,生成公私钥,并向区块链系统注册建立的SGX可信执行环境;
步骤2,节点注册:节点生成自己的公私钥对,并向云服务器建立的SGX可信执行环境完成对公钥的注册,云服务器处理节点注册信号,并向区块链注册节点公钥。
5.一种实施权利要求1~4任意一项所述去中心移动众包中对信任的匿名认证方法的去中心移动众包中对信任的匿名认系统,其特征在于,所述去中心移动众包中对信任的匿名认证包括:
区块链系统,包括上一个区块Bk-1的哈希值、生成区块Bk的时间戳TSk、不同服务器建立的SGX可信执行环境的公钥、Bk的创建者Mj以及与MCS相关的数据哈希值列表
Figure FDA0003257229330000041
用于BC记录四种与MCS任务相关的数据的摘要,即任务内容、竞拍消息、工作节点酬劳信息、任务完成质量评估结果,全部数据内容以密文形式存储在Sstr中;所有数据哈希均按其任务标识IDTask进行组织;
节点,通过配置云服务器通过可信执行环境ENCS完成节点的密钥更改和信任评估;
外部存储系统,用于MCS相关的数据,包括节点反馈和行为数据;
云服务器在区块链系统上发布密钥变更结果的方法进一步包括:
1)节点生成密钥变更信号,发送给可执行环境ENCS
2)ENCS处理密钥变更信号,并评估节点信任,生成密钥变更结果;
3)ENCS将密钥变更结果发布在区块链系统上;
所述步骤1)生成密钥变更信号的方法包括:
1.1)Ni生成新的私钥
Figure FDA0003257229330000042
和对应的公钥
Figure FDA0003257229330000043
使用旧的私钥
Figure FDA0003257229330000044
Figure FDA0003257229330000045
生成签名
Figure FDA0003257229330000046
1.2)Ni选择加密密钥K,加密消息
Figure FDA0003257229330000047
得到密文
Figure FDA0003257229330000051
1.3)Ni使用ENCS的公钥加密K,得到密钥的密文
Figure FDA0003257229330000052
1.4)Ni生成密钥变更信号
Figure FDA0003257229330000053
并将
Figure FDA0003257229330000054
发送给ENCS
所述步骤2)进一步包括:
2.1)ENCS解密
Figure FDA0003257229330000055
得到信号明文
Figure FDA0003257229330000056
并验证签名的有效性;
2.2)签名验证通过后,ENCS
Figure FDA0003257229330000057
插入公钥撤销列表KListrev中;
2.3)ENCS评估节点Ni的信任值
Figure FDA0003257229330000058
并将
Figure FDA0003257229330000059
映射到离散的信任等级
Figure FDA00032572293300000510
并生成信任评估可信性验证的证明πDT
2.4)ENCS将Ni变更后的公钥
Figure FDA00032572293300000511
和对应的信任等级
Figure FDA00032572293300000512
插入到公钥变更列表KListalt中;
2.5)当ENCS等待足够时间或KListalt的长度达到阈值时,对KListrev和KListalt进行处理,得到KList′rev和KList′alt
2.6)ENCS使用私钥对KList′rev||KList′alt||πDT生成签名
Figure FDA00032572293300000513
并发布到区块链系统上;
2.7)区块链矿工验证签名
Figure FDA00032572293300000514
的有效性,验证通过后验证πDT的正确性,验证通过,将
Figure FDA00032572293300000515
记录在区块链系统上;
所述步骤2.3)的信任评估方法包括:
2.3.1)ENCS向数据存储系统请求与Ni信任相关的反馈数据和行为数据密文
Figure FDA00032572293300000516
2.3.2)ENCS向对应的数据拥有者请求数据的解密密钥,并加密数据密文得到数据铭文
Figure FDA00032572293300000517
2.3.3)ENCS向区块链请求对应数据的消息摘要和签名,验证消息的完整性;
2.3.4)ECCS基于反馈数据评估Ni基于反馈的信任
Figure FDA00032572293300000518
2.3.5)ECCS基于行为数据评估Ni基于节点行为的信任
Figure FDA00032572293300000519
2.3.6)ENCS整合节点的综合信任
Figure FDA0003257229330000061
2.3.7)ENCS将信任评估中与信任相关的数据的摘要放入数据摘要列表
Figure FDA0003257229330000062
2.3.8)对于n个变更密钥的节点N0,N1,...,Nn-1,对应的信任评估可信性证明πDT计算方法为:
Figure FDA0003257229330000063
6.如权利要求5所述去中心移动众包中对信任的匿名认系统,其特征在于,
所述节点,包括MCS用户端、工作节点、矿工节点、数据存储节点和配置SGX的云服务器并通过各网络相互连接;
其中,MCS用户端使用MCS系统将任务分配给一组工作节点执行任务;
工作节点利用移动设备作为数据收集传感器完成任务;
矿工节点,用于维护区块链系统;
云服务器通过SGX可信执行环境ENCS完成节点的密钥更改和信任评估;
数据存储节点用于存储与节点信任相关的数据,数据拥有端将数据加密后存放在存储系统中,并在区块链上保存消息摘要、存储位置以及签名,以支持数据访问与完整性校验;
区块链系统还用于记录撤销的公钥列表KListrev、变更后的公钥列表KListalt、公钥注册列表KListreg以及密钥变更过程中评估信任输入数据的数据摘要πDT,用于评估KListrev中的公钥信任;KListrev包括撤销的公钥,KListalt中的元素包含变更后的公钥以及对应的信任,KListreg包含所有新注册的公钥。
7.一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被电子设备执行以实现权利要求1~4任意一项所述的去中心移动众包中对信任的匿名认证方法。
CN202010828585.1A 2020-08-18 2020-08-18 一种去中心移动众包中对信任的匿名认证方法及系统 Active CN112187712B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010828585.1A CN112187712B (zh) 2020-08-18 2020-08-18 一种去中心移动众包中对信任的匿名认证方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010828585.1A CN112187712B (zh) 2020-08-18 2020-08-18 一种去中心移动众包中对信任的匿名认证方法及系统

Publications (2)

Publication Number Publication Date
CN112187712A CN112187712A (zh) 2021-01-05
CN112187712B true CN112187712B (zh) 2021-10-22

Family

ID=73919134

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010828585.1A Active CN112187712B (zh) 2020-08-18 2020-08-18 一种去中心移动众包中对信任的匿名认证方法及系统

Country Status (1)

Country Link
CN (1) CN112187712B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112839046B (zh) * 2021-01-14 2022-09-27 暨南大学 基于区块链的可追踪的匿名众包方法及系统
CN113347000A (zh) * 2021-06-09 2021-09-03 哈尔滨工程大学 一种面向共谋攻击的真实路况数据聚合方法
CN113553612B (zh) * 2021-06-29 2023-08-11 福建师范大学 一种基于移动群智感知技术的隐私保护方法
CN114826684B (zh) * 2022-03-31 2023-06-16 西安电子科技大学 支持高效隐私保护的去中心化众包方法、系统及终端
CN114826572A (zh) * 2022-03-31 2022-07-29 西安电子科技大学 支持属性隐私保护的去中心化众包方法、系统及终端
CN114785518A (zh) * 2022-04-11 2022-07-22 江苏慧世联网络科技有限公司 一种去中心化的电子公证签名方法、系统以及节点
CN115396225B (zh) * 2022-08-31 2023-04-11 北京华宜信科技有限公司 一种数据平台用户身份认证方法及装置
CN116094797B (zh) * 2023-01-05 2024-04-05 西安电子科技大学 一种基于安全多方计算的分布式身份信任管理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726887A (zh) * 2018-10-12 2019-05-07 西安电子科技大学 基于区块链的移动众包数据数据采集与处理系统及方法
CN112039872A (zh) * 2020-08-28 2020-12-04 武汉见邦融智科技有限公司 基于区块链的跨域匿名认证方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2909964B1 (en) * 2012-10-17 2019-04-24 Nokia Technologies Oy Method and apparatus for providing secure communications based on trust evaluations in a distributed manner
EP3014803B1 (en) * 2013-06-25 2019-09-25 Nokia Technologies Oy A method and apparatus for anonymous and trustworthy authentication in pervasive social networking
US9647998B2 (en) * 2014-03-21 2017-05-09 Venafi, Inc. Geo-fencing cryptographic key material
CN105430638B (zh) * 2015-10-22 2018-12-28 重庆邮电大学 一种带有公钥信任程度感知的数据安全转发方法
CN107248980B (zh) * 2017-06-01 2020-06-02 西安电子科技大学 云服务下具有隐私保护功能的移动应用推荐系统及方法
CN108737436B (zh) * 2018-05-31 2020-02-21 西安电子科技大学 基于信任联盟区块链的跨域服务器身份认证方法
CN109104284B (zh) * 2018-07-11 2020-09-29 四川大学 一种基于环签名的区块链匿名传输方法
CN110287726B (zh) * 2019-06-13 2023-03-10 上海交通大学 一种基于区块链的多域身份认证管理系统及方法
CN111405011B (zh) * 2020-03-07 2022-11-25 北京工业大学 基于区块链的vanet中节点可信加入方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726887A (zh) * 2018-10-12 2019-05-07 西安电子科技大学 基于区块链的移动众包数据数据采集与处理系统及方法
CN112039872A (zh) * 2020-08-28 2020-12-04 武汉见邦融智科技有限公司 基于区块链的跨域匿名认证方法及系统

Also Published As

Publication number Publication date
CN112187712A (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
CN112187712B (zh) 一种去中心移动众包中对信任的匿名认证方法及系统
Lu et al. A blockchain-based privacy-preserving authentication scheme for VANETs
US20230023857A1 (en) Data processing method and apparatus, intelligent device, and storage medium
US20210377040A1 (en) Trust and identity management systems and methods
CN110493347B (zh) 基于区块链的大规模云存储中数据访问控制方法及系统
US10411905B2 (en) Public key infrastructure using blockchains
Ahmad et al. Reputation-aware trust and privacy-preservation for mobile cloud computing
Sharma et al. Blockchain-based cloud storage system with CP-ABE-based access control and revocation process
WO2021154157A1 (en) Blockchain-based data exchange
WO2022089420A1 (zh) 一种基于区块链的投票方法及装置
Zhong et al. A new message authentication scheme for multiple devices in intelligent connected vehicles based on edge computing
Dwivedi et al. Smart contract and ipfs-based trustworthy secure data storage and device authentication scheme in fog computing environment
CN115277010A (zh) 身份认证方法、系统、计算机设备和存储介质
Ahmad et al. Efficient time-oriented latency-based secure data encryption for cloud storage
Saleem et al. ProofChain: An X. 509-compatible blockchain-based PKI framework with decentralized trust
Xie et al. A novel blockchain-based and proxy-oriented public audit scheme for low performance terminal devices
CN112733179B (zh) 一种轻量级非交互隐私保护数据聚合方法
CN114168913A (zh) 基于智能合约众包结果评估与奖励分配方法、系统和介质
Kumar Arora et al. Blockchain‐inspired lightweight trust‐based system in vehicular networks
Mershad et al. Lightweight blockchain solutions: Taxonomy, research progress, and comprehensive review
Seyedi et al. Verifiable and privacy-preserving fine-grained data management in vehicular fog computing: A game theory-based approach
Li et al. A traceable privacy‐aware data publishing platform on permissioned blockchain
Dai et al. Dizar: An Architecture of Distributed Public Key Infrastructure Based on Permissoned Blockchain
Chen et al. A Vehicular Trust Blockchain Framework with Scalable Byzantine Consensus
Kirupanithi et al. Hierarchical deterministic protocol for the defragmentation of identity in a blockchain-based framework

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