一种基于安全多方的可审计签名方法及相关组件与流程

文档序号:23726574发布日期:2021-01-26 17:08阅读:62来源:国知局
一种基于安全多方的可审计签名方法及相关组件与流程

[0001]
本申请涉及计算机软件技术领域,特别涉及一种基于安全多方的可审计签名方法、装置、设备及一种可读存储介质。


背景技术:

[0002]
安全多方计算(secure multiparty computing,smc)是密码学中一个非常活跃的学术领域,主要用于解决一组互相不信任的参与者之间的个人隐私保护问题,它可以在没有可信第三方的条件下,解决一些由多人共同参与的棘手问题,它能够确保多名互不信任的参与者之间共同完成计算任务而不会泄露各自的隐私信息。安全多方计算在数据挖掘,统计分析,隐私保护和机密电子投票等方面起着重要作用,具有很重要的现实意义。
[0003]
然而在实际执行中,安全多方协议的参与者存在诚实、半诚实和恶意三种类型的参与者,非诚实的参与者在执行过程中可能会影响协议的正常执行,诱发秘密数据泄露等情况,对于系统的安全运行产生重要影响。
[0004]
因此,如何避免非诚实的参与者对于协议执行过程的消极影响,保障隐私数据的安全性,是本领域技术人员急需解决的问题。


技术实现要素:

[0005]
本申请的目的是提供基于安全多方的可审计签名方法,该方法可以避免非诚实的参与者对于协议执行过程的消极影响,保障隐私数据的安全性;本申请的另一目的是提供基于安全多方的可审计签名装置、设备及一种可读存储介质。
[0006]
为解决上述技术问题,本申请提供一种基于安全多方的可审计签名方法,包括:
[0007]
基于秘密共享机制生成密钥;
[0008]
每隔预设周期更新参与者的秘密标记信息,并基于各所述参与者的可信任程度生成带时间戳的信任矩阵;
[0009]
从所述信任矩阵中确定所述参与者的信任向量,并根据所述信任向量判断所述参与者是否可信;
[0010]
若判定可信,允许所述参与者根据所述密钥以及所述秘密标记信息进行签名处理;若判定不可信,则禁止所述参与者根据所述密钥以及所述秘密标记信息进行签名处理。
[0011]
可选地,基于各所述参与者的可信任程度生成带时间戳的信任矩阵,包括:
[0012]
评估参与者在所述预设周期内的身份可信程度,作为直接信任评估值;
[0013]
评估所述参与者与各其他参与者在所述预设周期内之间交互信息的可信程度,作为间接信任评估值;
[0014]
根据所述直接信任评估值以及所述间接信任评估值生成所述参与者所述预设周期内的可信度量向量,作为信任向量;
[0015]
将所述预设周期内所有参与者对应的信任向量组成矩阵,作为信任矩阵。
[0016]
可选地,所述评估参与者的身份可信程度,作为直接信任评估值,包括:
[0017]
获取所述参与者的身份待验证信息;其中,所述待验证信息根据所述参与者的各项秘密信息分别进行离散对数加密处理后求和得到;
[0018]
获取所述参与者的所述各项秘密信息之和,并对所述各项秘密信息之和进行离散对数加密处理,作为身份验证信息;
[0019]
对所述身份待验证信息与所述身份验证信息进行匹配验证,生成身份验证结果;
[0020]
按照预设规则根据所述身份验证结果为所述参与者的身份可信程度赋值,作为所述直接信任评估值。
[0021]
可选地,评估所述参与者与各其他参与者之间交互信息的可信程度,作为间接信任评估值,包括:
[0022]
对所述参与者与各其它参与者之间广播信息的进行匹配验证,生成广播验证结果;
[0023]
按照预设规则根据所述广播验证结果为所述参与者的交互信息可信程度赋值,作为所述间接信任评估值。
[0024]
可选地,在从所述信任矩阵中确定所述参与者的信任向量之前,还包括:
[0025]
将所述信任矩阵加密并存储到区块链中;
[0026]
若接收到查验申请,从所述区块链中下载相应周期的信任矩阵;
[0027]
将下载的所述信任矩阵以及对应周期的组私钥发给申请者。
[0028]
可选地,将所述信任矩阵加密并存储到区块链中,包括:
[0029]
确定各所述参与者中受信任的参与者,作为代理者;
[0030]
控制所述代理者将所述信任矩阵加密存储于区块链中;
[0031]
则相应地,若接收到查验申请,从所述区块链中下载相应周期的信任矩阵,包括:所述代理者接收查验申请,并从所述区块链中下载相应周期的信任矩阵以及对应的组私钥。
[0032]
可选地,确定各所述参与者中受信任的参与者,作为代理者,包括:
[0033]
所述参与者从预设集合中构造向量;
[0034]
调用系统公钥将所述向量进行加密处理,作为第一竞争值;
[0035]
接收邻居参与者发送的竞争值,作为第二竞争值;
[0036]
确定所述第一竞争值与所述第二竞争值中的值大的一方,作为第三竞争值;
[0037]
将所述第三竞争值按传递顺序发送至另一位邻居参与者进行向量值比较,直至确定最大的向量,并将所述最大的向量作为最大竞争者;
[0038]
将所述最大竞争者对应的参与者作为所述代理者。
[0039]
本申请还提供了一种基于安全多方的可审计签名装置,该装置包括:
[0040]
密钥生成单元,用于基于秘密共享机制生成密钥;
[0041]
信任度量单元,用于每隔预设周期更新参与者的秘密标记信息,并基于各所述参与者的可信任程度生成带时间戳的信任矩阵;
[0042]
可信判断单元,用于从所述信任矩阵中确定所述参与者的信任向量,并根据所述信任向量判断所述参与者是否可信;若判定可信,触发第一单元;若判定不可信,触发第二单元;
[0043]
所述第一单元,用于放行所述参与者根据所述密钥以及所述秘密标记信息进行签
名处理;
[0044]
所述第二单元,用于禁止所述参与者根据所述密钥以及所述秘密标记信息进行签名处理。
[0045]
本申请还提供了一种基于安全多方的可审计签名设备,包括:
[0046]
存储器,用于存储计算机程序;
[0047]
处理器,用于执行所述计算机程序时实现所述的基于安全多方的可审计签名方法的步骤。
[0048]
本申请还提供了一种可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现所述的基于安全多方的可审计签名方法的步骤。
[0049]
本申请所提供的基于安全多方的可审计签名方法中,通过在响应参与者基于安全多方进行签名的行为前,每隔预设周期更新参与者的秘密标记信息,增加秘密标记信息的破解难度,提升秘密标记信息中包含的用户隐私数据的安全性,并基于各参与者的可信任程度生成带时间戳的信任矩阵,对于各参与者进行可信性评估,以实现对于参与者身份比如诚实、半诚实以及恶意等身份的辨别,若根据参与者对应的信任向量判定其身份可信,则允许其根据密钥以及秘密标记信息进行签名处理。而若不可信,则拒绝当前签名请求,可以提升签名过程的安全可靠性以及用户隐私信息的安全性。
[0050]
本申请还提供了一种基于安全多方的可审计签名装置、设备及一种可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
[0051]
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0052]
图1为本申请实施例提供的一种基于安全多方的可审计签名方法的流程图;
[0053]
图2为本申请实施例提供的一种可信程度的度量方式示意图;
[0054]
图3为本申请实施例提供的一种基于区块链的安全多方审计签名实现示意图;
[0055]
图4为本申请实施例提供的一种基于安全多方的可审计签名装置的结构框图;
[0056]
图5为本申请实施例提供的一种基于安全多方的可审计签名设备的结构示意图。
具体实施方式
[0057]
本申请的核心是提供基于安全多方的可审计签名方法,该方法可以避免非诚实的参与者对于协议执行过程的消极影响,保障隐私数据的安全性;本申请的另一核心是提供基于安全多方的可审计签名装置、设备及一种可读存储介质。
[0058]
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0059]
在安全多方计算下,假设在分布式网络中,有一组彼此互不信任的参与者p1,
p2,

,p
n
。假设每个参与者都拥一份秘密数据x1,x2,

,x
n
,他们秘密输入各自的秘密数据,并通过相互合作共同计算f:(x1,x2,

,x
n
)

(y1,y2,

,y
n
)。最后,每个参与者都可以得到各自的输出y
i
,在此过程中,每个参与者都无法获得其他参与者的任何信息,从而在没有可信第三方的条件下,安全多方计算解决一些由多人共同参与的棘手问题,具有很重要的现实意义。
[0060]
然而在实际执行中,安全多方协议的参与者存在诚实、半诚实和恶意三种类型的参与者。半诚实和恶意的参与者对协议的执行带来了一定的困扰,其有可能参与或发起某些影响协议运行的行为,从而对于隐私数据的安全性产生影响。
[0061]
为提高参与者的可信度,本申请提出了一种在安全多方签名中针对参与者的行为进行信任评估的实现方法,为保保障安全多方计算执行过程的安全可靠性奠定可靠基础。
[0062]
请参考图1,图1为本实施例提供的一种基于安全多方的可审计签名方法的流程图,该方法主要包括以下步骤:
[0063]
步骤s110、基于秘密共享机制生成密钥;
[0064]
秘密共享机制具体可以选用asmuth-bloom秘密共享方案,asmuth-bloom秘密共享方案具有计算量小、效率高的优点,本实施例中以秘密共享机制为asmuth-bloom秘密共享方案为例进行介绍,其它秘密共享机制(比如基于拉格朗日插值多项式的秘密共享方案)下的整体实现步骤均可参照本实施例的介绍。
[0065]
基于秘密共享机制生成密钥的过程可以参照相关技术下的实现方式,为加深理解,在此介绍一种具体的实现步骤,具体包括以下步骤:
[0066]
(1)数据初始化;
[0067]
假设p
i
(i=1,2,

,n)是n个参与者的集合,t为门限值,g为有限域gf(p)上的生成元,p和q是两个大素数,并满足q/(p-1),d
i
(i=1,2,

,n)是一组严格单调递增的正整数序列,q和d满足asmuth-bloom方案,待签名消息为m,n,t,g,p,q,d和d公开。
[0068]
(2)产生秘密标记信息;
[0069]
每个参与者p
i
随机选取满足asmuth-bloom方案的秘密标记信息计算秘密标记并将发送给p
j
(j=1,2,

,n),同时p
i
保留广播和
[0070]
此时,p
i
保存了一份秘密标记信息组成的向量和
[0071]
(3)产生身份标记信息;
[0072]
参与者p
i
选择随机数a
i
,计算并广播和g
a
。这里,设id
i
=μ
i
(modd
i
),则它有唯一的解为:其中e
i
满足因此,参与者的身份验证信息为(id,μ
i
)。
[0073]
(4)计算验证信息;
[0074]
设根据广播信息和g
a
,如果则参与者p
j
(j≠i)接受参与者p
i
发送的信息
[0075]
(5)产生密钥;
[0076]
p
i
收到其他参与者的秘密标记生成个人私钥:
[0077][0078]
则参与者公钥为:
[0079]
组公钥为:
[0080]
组私钥为:
[0081]
需要说明的是,本实施例中仅以上述密钥生成过程为例进行介绍,下文中沿用上述密钥生成过程中的简称以及代称,其它密钥生成方式均可参照本实施例的介绍,在此不再赘述。
[0082]
步骤s120、每隔预设周期更新参与者的秘密标记信息,并基于各参与者的可信任程度生成带时间戳的信任矩阵;
[0083]
为确保参与者的可信性,本申请中提出为每个参与者建立动态可信评估机制,每隔预设周期动态更新参与者的秘密标记信息并生成带时间戳的信任向量,作为参加者可信的基础,并由各参与者对应的信任向量构成信任矩阵(trust matrix,tm)。信任矩阵中每个参与者对应的信任向量代表着该参与者的可信程度,本申请中将参与者的可信程度度量化并形成信任矩阵,使每个参与者的可信度更加直观。
[0084]
信任矩阵带时间戳,时间戳意味着信任矩阵的生成时间(或有效时间),在信任矩阵的有效时间内信任矩阵有效,每隔预设时长更新信任矩阵,从而保障信任矩阵随参与者的行为不断更新,保证信任矩阵的信息有效性。
[0085]
而生成的信任矩阵的存储位置本实施例中不做限定,需尽量存储在安全的空间中,避免非法人员对于信任矩阵的篡改,保障信任矩阵的安全可靠性。
[0086]
其中具体地,基于各参与者的可信任程度生成带时间戳的信任矩阵的具体实现过程本实施例中不做限定,即进行可信任程度度量时的具体参考量以及度量方式在此不做限定,可以根据实际参与者审计的需要进行设定,比如可以针对参与者的身份、历史行为等进行评估,例如判断当前第一参与者发给第二参与者的交互信息与第二参与者广播的接收到的交互信息是否一致,又例如判断参与者历史签名记录中是否存在违规行为等。
[0087]
步骤s130、从信任矩阵中确定参与者的信任向量,并根据信任向量判断参与者是否可信;
[0088]
信任矩阵中包含安全多方中所有参与者的信任向量,从信任矩阵中确定待审计签名的参与者对应的信任向量,该信任向量代表对于该参与者进行可信性评估得到的信任
值,根据该信任向量可以实现参与者可信性的评判,而具体判定可信或不可信的标准不做限定,可以根据信任向量的表现形式以及实际安全审计的需要进行相应设定,在此不再赘述。
[0089]
若判定可信,则执行步骤s140;若判定不可信,则执行步骤s150.
[0090]
步骤s140、允许参与者根据密钥以及秘密标记信息进行签名处理。
[0091]
若判定该参与者可信,则允许该参与者基于安全多方根据密钥以及秘密标记信息进行签名处理,仅在参与者可信时允许其进行签名处理,可以保障签名过程的安全可靠性,避免非可信用户对于签名过程的干扰,可以有力保障用户隐私数据的安全性。
[0092]
而具体地,在判定参与者可信后,参与者根据密钥以及秘密标记信息进行签名处理的具体实现步骤本实施例中不做限定,可以按照相关技术中的实现方式来实现,在此不再赘述。
[0093]
步骤s150、禁止参与者根据密钥以及秘密标记信息进行签名处理。
[0094]
若判定该参与者不可信,则禁止参与者根据密钥以及秘密标记信息进行签名处理,拒绝当前签名请求,还可以进一步生成安全预警提示信息,提示当前用户不可信等,可以根据实际使用需要进行设定,在此不做限定。
[0095]
基于上述介绍,本实施例提供的基于安全多方的可审计签名方法中,通过在响应参与者基于安全多方进行签名的行为前,每隔预设周期更新参与者的秘密标记信息,增加秘密标记信息的破解难度,提升秘密标记信息中包含的用户隐私数据的安全性,并基于各参与者的可信任程度生成带时间戳的信任矩阵,对于各参与者进行可信性评估,以实现对于参与者身份(诚实、半诚实以及恶意)的辨别,若根据参与者对应的信任向量判定其身份可信,则允许其根据密钥以及秘密标记信息进行签名处理。而若不可信,则拒绝当前签名请求,可以提升签名过程的安全可靠性以及用户隐私信息的安全性。
[0096]
上述实施例中对于基于各参与者的可信任程度生成带时间戳的信任矩阵的具体实现方式不做限定,本实施例中主要针对信任矩阵的生成方式,提出一种对于参与者可信任程度的度量方式,具体如下:
[0097]
基于各参与者的可信任程度生成带时间戳的信任矩阵的过程具体可以包括以下步骤:
[0098]
(1)评估参与者在预设周期内的身份可信程度,作为直接信任评估值;
[0099]
可信评估主要包含两个方面,直接可信和间接可信,其中,直接可信是指参与者的身份可信,间接可信是指参与者之间交互信息的可信性。
[0100]
本实施例中对于身份可信程度的评估手段不做限定,可选地,评估身份可信程度的一种实现方式如下:
[0101]
(1.1)获取参与者的身份待验证信息;其中,待验证信息根据参与者的各项秘密信息分别进行离散对数加密处理后求和得到;
[0102]
可选地,秘密信息具体可以包括:基于秘密共享机制生成的秘密标记以及随机数。
[0103]
(1.2)获取参与者的各项秘密信息之和,并对各项秘密信息之和进行离散对数加密处理,作为身份验证信息;
[0104]
(1.3)对身份待验证信息与身份验证信息进行匹配验证,生成身份验证结果;
[0105]
(1.4)按照预设规则根据身份验证结果为参与者的身份可信程度赋值,作为直接
信任评估值。
[0106]
例如,身份的可信性可以通过等式判断。a是一个随机数,是秘密标记,a和是每个成员自己随机秘密选择的信息,都是不可以被攻击者或其他参与者直接获得的秘密信息,不可泄露,因此都需要加密处理,g
a
和分别表示的是一个加密方法,是一个离散对数难题,目前公认的不可破解的难题,也就说通过这样一个加密处理,除了本人之外,没有人能够获得a和而且还可以验证参与者的身份,对于隐私信息的安全性具有可靠的保障。因为a和是每个成员自己随机秘密选择的信息,只有自己知道,攻击者是不知道的,只有成员本人才知道正确的a和通过验证,这里才可以证明a和成员本人,而不是攻击者伪造的。若是攻击者伪造的信息,则等式将不会成立,就可以证明不是成员本人,身份就不可信了。
[0107]
本实施例中仅以上述等式验证形式为例进行介绍,其他基于本申请的加密方式以及其他验证方式也可以实现参与者身份的可信性验证,均可参照上述介绍,在此不再赘述。
[0108]
(2)评估参与者与各其他参与者在预设周期内之间交互信息的可信程度,作为间接信任评估值;
[0109]
交互信息指参与者之间相互交换的用于生成秘密份额的交互信息。由于信息在传递过程中存在被攻击和篡改的可能性,因此需要验证交互信息的可信性以保障各参与者之间签名处理过程的可靠性。比如每个参与者p
i
随机选取秘密标记信息时,也就是说p
i
选择了n个信息,给其他n-1个参与者每人发送一个,将发送给p
j
(j=1,2,

,n),这里的就是交互信息,本实施例中针对交互信息可信程度的验证就需要验证它的可信性。
[0110]
而本实施例中对于交互信息可信程度的验证具体实现方式不做限定,可选地,评估参与者与各其他参与者之间交互信息的可信程度的一种具体实现方式具体包括以下步骤:
[0111]
(2.1)对参与者与各其它参与者之间广播信息的进行匹配验证,生成广播验证结果;
[0112]
(2.2)按照预设规则根据广播验证结果为参与者的交互信息可信程度赋值,作为间接信任评估值。
[0113]
例如,参与者间交互信息的可信性可以通过等式判断,若两者相同,则验证可信,若两者不同,则验证不可信。等式中相关参数可参照上述实施例中的解释,在此不再赘述。
[0114]
(3)根据直接信任评估值以及间接信任评估值生成参与者预设周期内的可信度量向量,作为信任向量;
[0115]
(4)将预设周期内所有参与者对应的信任向量组成矩阵,作为信任矩阵。
[0116]
例如,一种可信程度的度量方式如图2所示,构建可信评估函数,可信评估函数主
要包含两个方面,直接可信和间接可信。直接可信是指参与者的身份可信,间接可信是指参与者之间交互信息的可信性。其中身份的可信性通过等式判断,交互信息的可信性通过等式判断。当等式成立时取值为1,否则为0。
[0117]
可信评估函数为:这里f(x)=[x]为取整函数,t为更新周期。可信评估函数由参与者的直接信任和间接信任两部分构成。f
d
为参与者p
i
的在第k个周期的直接信任评估值,这里id
i
=μ
i
(modd
i
)
[0118]
身份信息id
i
=μ
i
(modd
i
)中,id是和μ
i
相关的,μ
i
是用来验证参与者身份的。评估中的直接信任就是通过来评估的。
[0119]
为参与者的身份信息。f
i
为参与者p
i
的在第k个周期的间接信任评估值。直接信任f
d
和间接信任f
i
的取值属于集合a={0,1},的取值范围为
[0120]
若等式成立,则直接信任f
d
=1,否则为0。
[0121]
若等式成立,则间接信任f
i
=1,否则为0。
[0122]
此时,p
i
将第k个周期的评估结果生成信任向量tv:
[0123][0124]
这里默认
[0125]
将第k周期所有参与者p
i
(i=1,2,

,n)的信任向量组成信任矩阵tm,因此第k个周期所有参与者的评估结果为:
[0126][0127]
因此,在第k周期时,参与者p
i
对其他n-1个参与者的评估值为:
[0128][0129]
在第k+1周期时,p
i
更新信任矩阵
[0130][0131]
由上述矩阵更新为下述矩阵:
[0132][0133]
当参与者不可信(比如可信评估函数取值0时,该标准可调)时,则不能参与签名。
[0134]
本实施例中从身份以及交互信息两方面实现对于参与者的可信性评估,实现了参与者可靠精准的可信性评估,并将可信度量值组成信任矩阵用于审计和追溯,提升整体签名实现过程的可靠性。
[0135]
而基于上述可信性评估方式下,为加深理解,本实施例中介绍一种基于上述评估方式下的签名实现方式。
[0136]
签名产生过程如下:
[0137]
(1)p
i
(i=1,2,

,t)选择随机数l
i
,并计算将η
i
发送给p
j
并广播。
[0138]
(2)当参与者p
j
收到η
i
时,p
j
(j=1,2,

,t)计算
[0139]
(3)p
i
(i=1,2,

,t)计算部分签名所以参与者的部分签名为这里
[0140]
(4)p
i
计算签名所以,消息m的最终的签名为sig(m)=(m,η,s)。
[0141]
而签名验证的过程具体可以为:p
i
用组公钥g
pk
验证等式g
s
≡u
m
·
η
·
g
pk
modp。如果等式成立,则签名有效,若等式不成立,则签名无效。
[0142]
由于存在移动攻击,攻击者可以通过长期稳定的攻击来获取参与者的专用密钥。然而,动态更新参与者的密钥可以有效地防止移动攻击并提高安全性。该解决方案可以使系统公钥在整个更新过程中保持不变,保留了使用系统公钥访问历史签名信息的功能。这里,将更新周期设置为t。
[0143]
每一个周期t,参与者更新秘密标记信息并更新私钥
[0144]
更新完成后,参与者还可以根据上述签名过程生成签名。
[0145]
上述实施例中对于信任矩阵的存储位置不做限定,为提升信任矩阵的安全性,本实施例中提出一种信任矩阵的安全存储以及获取方式。
[0146]
具体地,在从信任矩阵中确定参与者的信任向量之前,将信任矩阵加密并存储到区块链中;若接收到查验申请,从区块链中下载相应周期的信任矩阵;将下载的信任矩阵以及对应周期的组私钥发给申请者。
[0147]
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证其不可篡改和不可伪造的分布式账本,区块链具有去中心化、匿名化、不可篡改、公开透明、可审计等良好特性,很好的解决了数据在传输过程中的可信性,其在金融、医疗、能源互联网、物联网等领域发展迅速。
[0148]
本实施例中将安全多方和区块链结合,利用区块链不可篡改的特性将信任矩阵存储到区块链中作为审计的依据,建立了一种可审计和追溯的可信机制,使可信度更加真实可信,如图3所示为基于区块链的安全多方审计签名实现示意图。
[0149]
而其中,为进一步提升信任矩阵存储至区块链过程的安全性,上述步骤中将信任矩阵加密并存储到区块链中的过程具体可以按照以下步骤来实现:确定各参与者中受信任的参与者,作为代理者;控制代理者将信任矩阵加密存储于区块链中;则相应地,若接收到查验申请,从区块链中下载相应周期的信任矩阵,包括:代理者接收查验申请,并从区块链中下载相应周期的信任矩阵以及对应的组私钥。
[0150]
参与者首先选择出代理者,由代理者将信任矩阵加密并存储到区块链中,当有申请者需要查验时,向代理者发起申请并从区块链中下载相应周期的信任矩阵,代理者将对应周期的组私钥发给该申请者,申请者通过解密即可得到原始信任矩阵并予以验证。通过减少信任矩阵的接触参与者,减少信任矩阵被篡改的机会,从而提升其安全性。
[0151]
而其中,代理者作为存储信任矩阵的关键性参与者,需保证其安全可靠性,本实施例中对于代理者的具体筛选规则不做限定,可以根据实际使用需要进行设定。可选地,一种筛选规则如下:
[0152]
参与者从预设集合中构造向量;
[0153]
调用系统公钥将向量进行加密处理,作为第一竞争值;
[0154]
接收邻居参与者发送的竞争值,作为第二竞争值;
[0155]
确定第一竞争值与第二竞争值中的值大的一方,作为第三竞争值;
[0156]
将第三竞争值按传递顺序发送至另一位邻居参与者进行向量值比较,直至确定最大的向量,并将最大的向量作为最大竞争者;
[0157]
将最大竞争者对应的参与者作为代理者。
[0158]
例如,各参与者通过竞标出价选择出代理者。每个参与者秘密出价得到一个标准数据h=(h1,h2,

,h
n
),n个参与者合作保密计算获得各自的出价h
i
排序,最后由出价最高者作为代理将参与者的可信结果。
[0159]
首先,参与者p
i
(i=1,2,

,n),商定一个全集a=[1,n],满足每个参与者在全集a中构造一个n维向量b
i
=(b
i1
,b
i2
,

,b
ij
,

,b
in
),其中对于每一个j∈a,定义
[0160]
其次,p
i
用系统公钥加密b
i
得到并将发给p
i+1
。p
i+1
收到p
i
发送来的后,进行如下计算:p
i+1
根据b
i+1
=(b
(i+1)1
,b
(i+1)2
,

,b
(i+1)n
)得到其中对于任意j∈a有
[0161]
故得到
[0162]
然后,p
i+1
将发送给p
i+2
。以此类推,最终p
n
得到并公布;
[0163]
最后,参与者p
i
(i=1,2,

,n),计算公式得到最终的出价排序,由出价最高者作为代理,假设出价最高者为p
r

[0164]
而此时p
r
作为代理,将第t
k
(k=1,2,

,n)周期的可信评估矩阵用系统公钥加密得到密文并对密文进行哈希处理得到将最后得到的哈希值存放到区块链中。
[0165]
当有需求时,参与者p
k
或其他参与者向代理者发起请求,代理p
r
将组私钥发送给申请者p
k
,p
k
从区块链上下载数据并用私钥解密得到可信评估矩阵
[0166]
而代理者也可以按周期进行更新,以进一步提升数据的安全存储,在此不再赘述。
[0167]
基于上述介绍,本实施例提供了一种基于安全多方的区块链可审计签名方案,将安全多方和区块链相结合,建立了一种可信评估机制将参与者的可信性度量化,更加客观的评估参与者的可信度。利用区块链不可篡改、公开透明的特性,将可信评估矩阵存放到区块链上作为查证的依据,实现了可审计、可追溯的功能。采用秘密共享技术设计了一种安全多方的签名方案,计算量小,且安全性高。
[0168]
请参考图4,图4为本实施例提供的基于安全多方的可审计签名装置的结构框图;该装置主要包括:密钥生成单元110、信任度量单元120、可信判断单元130、第一单元140以及第二单元150。本实施例提供的基于安全多方的可审计签名装置可与上述基于安全多方的可审计签名方法相互对照。
[0169]
其中,密钥生成单元110主要用于基于秘密共享机制生成密钥;
[0170]
信任度量单元120主要用于每隔预设周期更新参与者的秘密标记信息,并基于各参与者的可信任程度生成带时间戳的信任矩阵;
[0171]
可信判断单元130主要用于从信任矩阵中确定参与者的信任向量,并根据信任向量判断参与者是否可信;若判定可信,触发第一单元;若判定不可信,触发第二单元;
[0172]
第一单元140主要用于放行参与者根据密钥以及秘密标记信息进行签名处理;
[0173]
第二单元150主要用于禁止参与者根据密钥以及秘密标记信息进行签名处理。
[0174]
本实施例提供一种基于安全多方的可审计签名设备,主要包括:存储器以及处理器。
[0175]
其中,存储器用于存储程序;
[0176]
处理器用于执行程序时实现如上述实施例介绍的基于安全多方的可审计签名方法的步骤,具体可参照上述基于安全多方的可审计签名方法的介绍。
[0177]
请参考图5,为本实施例提供的基于安全多方的可审计签名设备的结构示意图,该基于安全多方的可审计签名设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,cpu)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储器332通信,在基于安全多方的可审计签名设备301上执行存储介质330中的一系列指令操作。
[0178]
基于安全多方的可审计签名设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
[0179]
上面图1所描述的基于安全多方的可审计签名方法中的步骤可以由本实施例介绍的基于安全多方的可审计签名设备的结构实现。
[0180]
本实施例公开一种可读存储介质,其上存储有程序,程序被处理器执行时实现如上述实施例介绍的基于安全多方的可审计签名方法的步骤,具体可参照上述实施例中对基于安全多方的可审计签名方法的介绍。
[0181]
该可读存储介质具体可以为u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
[0182]
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0183]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0184]
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
[0185]
以上对本申请所提供的基于安全多方的可审计签名方法、装置、设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领
域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1