自安全的紧耦合秘密共享方法与流程

文档序号:16741256发布日期:2019-01-28 13:01阅读:232来源:国知局
自安全的紧耦合秘密共享方法与流程

本发明涉及网络与信息安全技术领域,尤其涉及一种自安全的紧耦合秘密共享方法。



背景技术:

一、秘密共享:

(t,n)门限秘密共享的基本思想是将一个秘密分割成n个秘密份额,并将每一个份额分发给一个参与者,只有t(t≤n)个或t个以上的参与者合作才能恢复秘密,少于t个参与者无法恢复秘密,其中t为门限值。

(t,n)门限秘密共享方案有很多种实现方式,其中应用最为广泛的就是shamir秘密共享方案:

该方案假定d是秘密分发者,n是参与者的数目,t是门限值,p是大素数且远大于n;秘密空间与份额空间均为有限域gf(p)。(t,n)门限秘密共享方案分为两个组成部分:

1、秘密分发阶段:

1)秘密分发者d随机选择一个gf(p)上的t-1次多项式f(x):f(x)=at-1xt-1+…+a2x2+a1x+a0modp,其中a0=f(0)=s,s为秘密,d对f(x)保密;

2)d在有限域gf(p)中选择n个互不相同的非零元素xl,x2,...,xn,计算si=f(xi),1≤i≤n。

3)将(xi,si,)(l≤i≤n)安全地分配给参与者ui,值xi是ui的公开信息,si作为ui的秘密份额。

2、秘密重构阶段:

任何m(n≥m≥t)个参与者,比如{u1,u2,...,um},可以利用他们的秘密份额{sl,s2,...,sm}通过lagrange插值公式计算f(0)而恢复共享的秘密s。

二、组认证及面向群组场景应用

随着移动互联网的发展,在线会议系统等面向群组场景的应用越来越多。身份认证是群组场景应用的基础安全保障之一,而一对一认证方式并不能完全满足群组场景应用的要求,组认证方式应运而生。

通常,组认证用以一次性验证一组用户是否属于某个预先定义的组。leinharn在2013年发表的groupauthentication一文中提出了组认证的概念,并且提出了一种基于shamir(t,n)门限秘密共享的组认证方案,该方案可以通过一次计算,确定一组用户是否属于同一组。

传统(t,n)门限秘密共享用于构造组认证方案时面临如下两个安全问题:

1)预置安全信道:在秘密恢复阶段,传统(t,n)门限秘密共享需要在每个参与者之间建立安全信道,这是一个加密链路,并且独立于秘密分发和恢复,这意味着需要在秘密恢复阶段之前预先建立安全信道;

2)信道破解攻击:如果一个未持有任何有效的秘密份额的外部攻击者,碰巧破解了两个参与者之间的共享私密信道,这意味着该攻击者可以截获该私密信道中的任何信息,包括这两个参与者的秘密份额。在这种情况下,外部攻击者只需要设法破解条私密信道就可能通过截获的秘密份额来获取秘密。

这两个安全问题以及群组场景应用的特殊功能要求决定了以shamir(t,n)方案为代表的传统(t,n)门限秘密共享方案不能直接用于构造组认证方案,也不能直接用于构造其他面向群组场景的应用,因而需要构造新型的秘密共享方案以适应组认证以及其他面向群组场景的应用。



技术实现要素:

本发明的目的是提供一种自安全的紧耦合秘密共享方法,不但适用于组认证场景,还是一种通用的秘密共享方案,可以构建面向群组场景应用(如在线会议,社交软件群组通信等)的基本功能模块。

本发明的目的是通过以下技术方案实现的:

一种自安全的紧耦合秘密共享方法,其特征在于,包括:

秘密份额分发者秘密选择一个t×d的矩阵α以及一个多项式f(x,y),并为每个参与者生成并分发关于x的t-1阶多项式f(x)以及关于y的d-1阶多项式g(y);假设共有m个参与者要共享秘密,其中,d>t2-t,t为门限值,m≥t;

在进行单秘密共享时,每个参与者利用被分配的多项式g(y)计算秘密份额,在与其他参与者通信过程中通过相应的密钥对秘密份额进行加密后发送给相应的其他参与者,由相应的其他参与者利用被分配的多项式f(x)对接收到的加密的秘密份额进行解密;最终每个参与者将获得m个秘密份额,从而能够实现秘密重构;

在进行紧耦合单秘密共享或者紧耦合多秘密共享时,每个参与者利用被分配的多项式g(y)计算秘密份额,并构建秘密组件,在与其他参与者通信过程中通过相应的密钥加密秘密组件后发送给相应的其他参与者,由相应的其他参与者利用被分配的多项式f(x)对接收到的加密的秘密组件进行解密;最终每个参与者将获得m个秘密组件,从而能够实现秘密重构。

由上述本发明提供的技术方案可以看出,允许在秘密恢复阶段时,参与者可以不依赖预先建立的安全信道秘密地交换信息,即可以临时灵活地建立任意两个参与者之间的私有信道;同时,使得外部攻击者试图获取秘密时需要破解至少条安全信道,而不是传统方案的条;由于m≥t,因而应对信道破解攻击的健壮性更好。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。

图1为本发明实施例提供的一种自安全的紧耦合秘密共享方法的流程图;

图2为本发明实施例提供的秘密份额分发示意图;

图3为本发明实施例提供的紧耦合单秘密共享的流程图。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。

本发明实施例提供一种自安全的紧耦合(t,m,n)秘密共享方法,该方法中假设包含有一个秘密分发者dealer,n个秘密份额持有者{ui|i=1,2,...,,n},其满足:

a)t(t≤n)个或多于t个份额持有者可以恢复出秘密,而少于t个份额持有者时不能恢复秘密;

b)一个有m(n≥m≥t)个份额持有者的授权组是紧耦合组:

i、当且仅当所有m个参与者拥有合法份额且实际参与秘密恢复时才能恢复秘密;

ii、任何不属于该组的攻击者无法参与该组的秘密恢复过程而获得秘密,即使他是一个合法的秘密份额持有者。

该方法主要流程如图1所示,主要包括:

1、初始化阶段

假设有n个参与者,记为秘密份额分发者dealer秘密选择一个t×d的矩阵α以及一个多项式f(x,y),并为每个参与者生成并分发关于x的t-1阶多项式f(x)以及关于y的d-1阶多项式g(y);假设共有m个参与者要共享秘密,其中,d>t2-t,t为门限值,m≥t。

本发明实施例中,所选择的多项式f(x,y)表示为:

其中,p为素数,aqw∈gf(p),q=0,1,2,...,t-1;w=0,1,2,...,d-1,gf(p)为有限域,x,y表示该多项式有两个自变量,本身没有实际意义,是一个双变量多项式,式子中的矩阵也即前文提到的矩阵a。

本发明实施例中,p为大素数,本领域内一般可以称1024位及以上的素数为大素数。在初始化阶段,如图2所示,秘密份额分发者为每个参与者ui生成并分发两个单变量多项式其中,fi(x)、gi(y)分别与参与者ui关于x的t-1阶多项式、关于y的d-1阶多项式;每个参与者ui拥有自己的公开信息ui∈gf(p),i=1,2,...,n。

2、单秘密共享

本发明实施例中,单秘密共享是紧耦合秘密共享的基础方法中的两个步骤之一,由于基础方法只能共享一个秘密,所以此处强调了一下单秘密共享,后面介绍的单秘密和多秘密共享都是基于基础方法设计出的方案。

在进行单秘密共享时,假设要共享秘密s=f(0,0),每个参与者利用被分配的多项式g(y)计算秘密份额,在与其他参与者通信过程中通过相应的密钥对秘密份额进行加密后发送给相应的其他参与者,由相应的其他参与者利用被分配的多项式f(x)对接收到的加密的秘密份额进行解密;最终每个参与者将获得m个秘密份额,从而能够实现秘密重构,其较佳的实现过程如下:

假设共有m个参与者要共享秘密s=f(0,0)。

1)秘密份额生成:

每个参与者利用被分配的多项式计算秘密份额

2)秘密份额交换:

在与其他参与者通信的过程中,每个参与者计算出密钥并使用密钥kjk加密秘密份额得到并将其发送给其中,j与k均表示参与者的序号,且k≠j,表示利用密钥kjk进行加密。

作为接收方的参与者利用被分配的多项式计算解密密钥并使用解密密钥解密得到秘密份额其中,

3)秘密重构:基于上述方式,最终每个参与者将获得m个秘密份额从而通过下述公式重构秘密s:

3、紧耦合单秘密共享

在进行紧耦合单秘密共享时,每个参与者利用被分配的多项式g(y)计算秘密份额,并构建秘密组件,在与其他参与者通信过程中通过相应的密钥加密秘密组件后发送给相应的其他参与者,由相应的其他参与者利用被分配的多项式f(x)对接收到的加密的秘密组件进行解密;最终每个参与者将获得m个秘密组件,从而能够实现秘密重构。

本发明实施例中,秘密份额分发者dealer选取一个秘密s=f(a,b)modp,此处的a、b是指代两个可以使得多项式值为s的具体的数值;假设共有m个参与者要共享秘密,其较佳的实现过程如图3所示,主要包括:

1)秘密份额生成:

每个参与者利用被分配的多项式计算秘密份额并计算出与其他参与者通信的过程中所使用的密钥其中,j与k均表示参与者的序号,且k≠j,h:gf(p)×gf(p)→gf(p)为单向哈希函数,而且对于给定的y,当x在有限域gf(p)上均匀分布时,h(x,y)是一个在有限域gf(p)上均匀分布的单向hash函数;与前文f(x,y)类似的,此处的x、y表示该函数有两个自变量。

2)秘密组件的构建与交换:

i、秘密组件构建:参与者建秘密组件:并使用密钥kjk加密秘密组件得到密文并将其发送给其中,pjk是共享的私密数值:

ii、秘密组件交换:作为接收方的参与者利用被分配的多项式计算与参与者共享的解密密钥从而解密得到秘密组件其中,

3)秘密重构:基于上述方式,最终每个参与者将获得m个秘密组件从而通过下述公式重构秘密s:

4、紧耦合多秘密共享

在进行紧耦合多秘密共享时,每个参与者利用被分配的多项式g(y)计算秘密份额,并构建秘密组件,在与其他参与者通信过程中通过相应的密钥加密秘密组件后发送给相应的其他参与者,由相应的其他参与者利用被分配的多项式f(x)对接收到的加密的秘密组件进行解密;最终每个参与者将获得m个秘密组件,从而能够实现秘密重构。

本发明实施例中,秘密份额分发者dealer选取l个秘密{sr=f(ar,br)modp|r=1,2,...,l,l<d-t2+t},r表示秘密的序号,假设共有m个参与者要共享这些秘密,其较佳的实现过程如下:

1)秘密份额生成:

每个参与者利用被分配的多项式计算秘密份额并计算出与其他参与者通信的过程中所使用的密钥其中,j与k均表示参与者的序号,且k≠j,h:gf(p)×gf(p)→gf(p)为单向哈希函数,而且对于给定的y,当x在有限域gf(p)上均匀分布时,h(x,y)是一个在有限域gf(p)上均匀分布的单向hash函数。

2)秘密组件的构建与交换:

i、秘密组件构建:参与者建秘密组件:并使用密钥kjk,r加密秘密组件得到密文并将其发送给其中,

ii、秘密组件交换:作为接收方的参与者计算与参与者共享的解密密钥从而解密得到秘密组件

3)秘密重构:基于上述方式,最终每个参与者将获得关于秘密sr的m个秘密组件从而通过下述公式重构秘密sr:

本发明实施例上述方案主要具有如下优点:

1)该方案允许在秘密恢复阶段时,参与者可以不依赖预先建立的安全信道秘密地交换信息,即可以临时灵活地建立任意两个参与者之间的私有信道。

2)该方案中,当m(m≥t+1)个参与者试图恢复秘密时,每个参与者都要提供有效的份额,否则无法得到任何关于秘密的信息。

3)该方案使得外部攻击者试图获取秘密时需要破解至少条安全信道,而不是传统方案的条;因为m≥t,因而应对信道破解攻击的健壮性更好。

4)该方案可以在不依赖数学难题的情况下共享多个秘密,相比较传统多秘密方案更加安全可靠。

5)该方案不仅适用于组认证场景,可以用于构造组认证方案,还是通用的秘密共享方案,可以作为其他面向组的应用的基本功能模块。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1