首页> 中国专利> 一种去中心移动众包中对信任的匿名认证方法及系统

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

摘要

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

著录项

  • 公开/公告号CN112187712A

    专利类型发明专利

  • 公开/公告日2021-01-05

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN202010828585.1

  • 发明设计人 闫峥;冯伟;

    申请日2020-08-18

  • 分类号H04L29/06(20060101);H04L29/08(20060101);H04L9/32(20060101);G06N3/04(20060101);G06F21/64(20130101);

  • 代理机构61227 西安长和专利代理有限公司;

  • 代理人何畏

  • 地址 710071 陕西省西安市太白南路2号西安电子科技大学

  • 入库时间 2023-06-19 09:26:02

说明书

技术领域

本发明属于数据处理技术领域,尤其涉及一种基于区块链的去中心移动众包中对信任的匿名认证方法及系统。

背景技术

移动众包(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)节点生成密钥变更信号,发送给EN

2)EN

3)EN

进一步,所述步骤1)生成密钥变更信号的方法包括:

1.1)N

1.2)N

1.3)N

1.4)N

所述步骤2)进一步包括:

2.1)EN

2.2)签名验证通过后,EN

2.3)EN

2.4)EN

2.5)当EN

2.6)EN

2.7)区块链矿工验证签名

进一步,所述步骤2.3)的信任评估方法包括:

2.3.1)EN

2.3.2)EN

2.3.3)EN

2.3.4)EN

2.3.5)EN

2.3.6)EN

2.3.7)EN

2.3.8)对于n个变更密钥的节点N

进一步,所述步骤2.3.4)的基于反馈的信任评估方法包括:EN

其中,

所述步骤2.3.5)的基于节点行为的信任评估方法包括:

2.3.5.1)对于节点N

2.3.5.2)NE

2.3.5.3)EN

2.3.5.4)对于N

EN

进一步,所述进行信任认证的方法包括:

(I)节点N

(II)N

(III)N

进一步,区块链系统注册节点的方法包括:

步骤1,系统初始化:云服务器下载节点密钥管理与信任评估的代码,建立SGX可信执行环境,生成公私钥,并向区块链系统注册建立的SGX可信执行环境;

步骤2,节点注册:节点生成自己的公私钥对,并向云服务器建立的SGX可信执行环境完成对公钥的注册,云服务器处理节点注册信号,并向区块链注册节点公钥。

本发明的另一目的在于提供一种去中心移动众包中对信任的匿名认证包括:

区块链系统,包括上一个区块B

节点,通过配置云服务器通过可信执行环境EN

外部存储系统,用于MCS相关的数据,包括节点反馈和行为数据。

进一步,所述节点,包括MCS用户端、工作节点、矿工节点、数据存储节点和配置SGX的云服务器并通过各网络相互连接;

其中,MCS用户端使用MCS系统将任务分配给一组工作节点执行任务;

工作节点利用移动设备作为数据收集传感器完成任务;

矿工节点,用于维护区块链系统;

云服务器通过SGX可信执行环境EN

数据存储节点用于存储与节点信任相关的数据,数据拥有端将数据加密后存放在存储系统中,并在区块链上保存消息摘要、存储位置以及签名,以支持数据访问与完整性校验;

区块链系统还用于记录撤销的公钥列表KList

本发明的另一目的在于提供一种接收用户输入程序存储介质,所存储的计算机程序使电子设备执行所述去中心移动众包中对信任的匿名认证方法,包括下列步骤:(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 Infrastructure,PKI)的去中心化的认证方法,由于区块链公开透明特性,无法防止攻击者追踪节点行为。

针对现有技术存在的问题,本发明提供了一种去中心移动众包中对信任的匿名认证方法及系统,下面结合附图对本发明作详细的描述。

如图1所示,本发明提供一种去中心移动众包中对信任的匿名认证方法,包括下列步骤:

S101,系统初始化:具有SGX的云服务器下载节点密钥管理与信任评估的代码,建立SGX可信执行环境,生成公私钥,并向区块链系统注册建立的SGX可信执行环境。

S102,节点注册:节点生成自己的公私钥对,并向云服务器建立的SGX可信执行环境完成对公钥的注册,后者处理节点注册信号,并向区块链注册节点公钥。

S103,密钥更新与撤销:节点生成新的公私钥对,生成密钥变更请求发送给云服务器的SGX可信执行环境,云服务器处理节点密钥变更信号,将撤销后的密钥发布在区块链上完成密钥撤销,并将具有相同信任值的更新后的公钥聚集在一起,并将密钥顺序充分混淆后连同信任值一起发布在区块链上。

S104,对信任的匿名认证:节点使用变更后的私钥签名消息,签名验证端对信任的匿名认证:节点使用变更后的私钥签名消息,签名验证端验证签名有效性,并在区块链上查询公钥对应的信任值,从而完成对信任的匿名认证。

下面结合具体实施例对本发明作进一步描述。

实施例

图2是本发明实施例提供的去中心移动众包中对信任的匿名认证系统中,MCS的节点(包括移动设备、个人计算机和服务器)通过各种网络(例如蜂窝网络、MAENT、Wi-Fi等)连接在一起,主要包含5种类型的节点,即MCS用户、工作节点、矿工、数据存储节点和配置SGX的云服务器。其中,用户是无法完成数据收集任务的节点,因此使用MCS系统将任务分配给一组移动用户(即工作节点)以执行该任务;工作节点是利用其移动设备作为数据收集传感器来完成任务的移动用户;矿工共同维护区块链系统。为了方便表述,本发明使用BC={B

在本发明区块链系统中,如图3MCS-Chain+的区块链系统。它由上一个区块B

在本发明外部存储系统中,MCS-Chain+包含一个由S

在本发明任务执行流程中,MCS-Chain+中任务执行的过程可以描述如下。EU可以将任务发布到BC,并且对该任务感兴趣的工作节点可以使用其属性(例如位置、专业水平、计算能力等)来提交对该任务的请求。被EU选中的工作节点执行任务并将其任务执行结果存储到S

在本发明提供的去中心移动众包中对信任的匿名认证方法可以为基于SGX的去中心的对信任的匿名认证方案,主要包括以下步骤:

(1)系统初始化:具有SGX的云服务器下载节点密钥管理与信任评估的代码,建立SGX可信执行环境,生成公私钥,并向区块链系统注册建立的SGX可信执行环境。

(2)节点注册:节点生成自己的公私钥对,并向云服务器建立的SGX可信执行环境完成对公钥的注册,后者处理节点注册信号,并向区块链注册节点公钥。

(3)密钥更新与撤销:节点生成新的公私钥对,生成密钥变更请求发送给云服务器的SGX可信执行环境,后者处理节点密钥变更信号,并在区块链上发布密钥变更结果。

(4)对信任的匿名认证:节点使用变更后的私钥签名消息,签名验证者在区块链的帮助下完成对签名者的信任的认证。

在本发明实施例中,本发明步骤(1)中,所示的系统初始化,主要包含如下步骤:

(a)CS从区块链或社区下载用于密钥管理和信任评估的代码code,并使用code建立了一个SGX可信执行环境EN

(b)EN

(c)区块链矿工在英特尔服务器的协助下验证

(d)当包含

在本发明实施例中,步骤(2)所示的节点注册,主要包含如下步骤:

(i)节点N

(ii)节点N

(iii)节点N

(iv)节点N

(v)节点N

(vi)EN

(vii)EN

(viii)当KList

在本发明实施例中,步骤(3)所示的密钥更新和撤销,主要包含如下步骤:

1)节点生成密钥变更信号,发送给EN

2)EN

3)EN

在本发明实施例中,步骤1)所示的生成密钥变更信号的过程,主要包含如下步骤

1.1)N

1.2)N

1.3)N

1.4)N

在本发明实施例中,步骤2)中的过程,主要包含如下步骤:

2.1)EN

2.2)签名验证通过后,EN

2.3)EN

2.4)EN

2.5)当EN

2.6)EN

2.7)区块链矿工验证签名

在本发明实施例中,步骤2.3)所示的信任评估过程,主要包含如下步骤

2.3.1)EN

2.3.2)EN

2.3.3)EN

2.3.4)EN

2.3.5)EC

2.3.6)EC

2.3.7)EN

2.3.8)对于n个变更密钥的节点N

在本发明实施例中,步骤2.3.4)所示的基于反馈的信任评估过程,主要包含如下步骤:

EN

其中,

在本发明实施例中,步骤2.3.5)所示的基于节点行为的信任评估过程,主要包含如下步骤:

2.3.5.1)对于节点N

2.3.5.2)EN

2.3.5.3)EN

2.3.5.4)对于N

EN

在本发明实施例中,步骤(4)所示的对信任的匿名认证,主要包含如下步骤:

(I)节点N

(II)N

(III)N

改进的方案:本发明基于发明人已提出的基于区块链的去中心化的MCS系统,但同时可以兼容于现有的大部分基于区块链的MCS系统。此外,本发明构建的基础MCS-Chain可以进一步借助区块链分片(Blockchain Sharding)技术进行改进以优化效率。

此外,步骤2.3.5)中的基于反馈的信任评估方案,可以结合机器学习以进行优化。具体如下:

云服务器Enclave(或借助于基于区块链的智能合约)调用预加载的算法分析节点反馈数据,提取节点的反馈行为特征,并使用数据聚类的方法根据节点的反馈行为特征将其划分为若干簇;

(1)对于每个簇x,Encalve(或区块链智能合约)分析节点的反馈行为并建立预测模型f

Encalve使用f(·)得到

其中

下面结合测试对本发明的技术效果作详细的描述。

测试数据与对比:本发明应用仿真的方法来评估对匿名信任认证方案和信任评估的性能。实验测试平台为运行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、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

以上所述仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号