[发明专利]一种基于门限密钥共享及区块链的共享内容监管方法有效
申请号: | 201910476572.X | 申请日: | 2019-06-03 |
公开(公告)号: | CN110289951B | 公开(公告)日: | 2022-09-13 |
发明(设计)人: | 吕秋云;祁伊祯;陈晟 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | H04L9/08 | 分类号: | H04L9/08 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 朱月芬 |
地址: | 310018 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 门限 密钥 共享 区块 内容 监管 方法 | ||
1.一种基于门限密钥共享及区块链的共享内容监管方法,其特征在于包括如下步骤:
步骤1、内容权限快照;
步骤2、基于Shamir(t,n)的密钥分发和恢复;
步骤3、基于交易的内容审查;
步骤1所述的内容权限快照,具体实现如下:
内容权限快照通过内容权限的创建交易和更新交易实现,在CP即内容提供者刚开始创建可供共享的资源集和相关访问权限的时候,生成一个内容创建交易Tcreate,如式(1)所示:
在式(1)中,Tid表示交易标识,交易类型为创建Create,输入地址为PKCP和输出地址为PK0,Tpre表示上一次交易,因为是初始交易,Tpre和输入脚本为空,用表示;ResN表示当前该CP的所有资源文件名,POp表示资源所对应的访问权限,st为当前的时间戳;
当CP每次进行内容权限更改时,需要发布一个权限更新交易Tupdate如下:
在式子(2)中,该交易TUpdate的交易类型为更新Update,输入地址为PKCP和输出地址为PK0,第一次更改权限Tpre为TCreate,之后所发布的TUpdate的Tpre为上一个TUpdate,ResN′表示更改后CP的所有资源集的文件名,POp′是该资源集中资源所对应的更改后访问权限;
步骤2所述的基于Shamir(t,n)的密钥分发和恢复,具体实现如下:
2-1.公私钥对、地址及主密钥的生成
系统初始化生成自身的公私钥对PK0/SK0、系统地址Addr0;在监管部门的钱包端,初始化生成公私钥对PKSP/SKSP、监管部门地址AddrSP;在节点的钱包端,初始化生成公私钥对PKMP/SKMP、节点地址AddrMP;
所有私钥都是秘密的,公钥和地址都是公开的;系统将随机选择一个主秘密K,将K分为两份KSP和KMP,对KSP和KMP分别进行基于Shamir(t,n)门限秘密共享;其中KSP分发给l个参与内容监管的监管部门,KMP分发给m个参与验证的节点,并设定秘密恢复门限分别为(v,l)和(u,m);v表示参与的监管部门中的任意v个监管部门;其中K、KSP和KMP均不需要保存;
2-2.监管部门的子秘密分发与恢复
在监管部门的子秘密分发之前,所有的监管部门SP需要将自己的公钥PKSP和地址标识AddrSP发送到系统进行注册,具体如下:
2-2-1.秘密分发阶段
系统首先选取两个大素数p1,q1,计算再寻找满足的最小正整数h;
然后系统计算并对以下(l+1)个点(0,KSP),利用拉格朗日插值,得到的l阶多项式为:
其中系统只秘密存储多项式系数al,al-1,…av,公开参数:p1,q1,PK0,h,在此过程中用到的KSP以及所构建的多项式(3)均销毁;
SP首先获取系统公开参数:p1,q1,PK0,h;然后根据式(4)计算子秘密
2-2-2.秘密恢复阶段
系统要想恢复秘密KSP,需要参与的监管部门中的任意v个监管部门参与,提供他们各自的子秘密和对应的地址进行运算就能够恢复出KSP,具体过程如下:
①根据所提供的v个子秘密,计算Y′i′=x′t′+y′i′,i′=1,2,…v;②将x′i′分别用代入式(5)计算得v个点分别为:
③根据拉格朗日插值法得到一个v-1次多项式如下式(6):
式(6)中,g(0)就是需要恢复的共享秘密KSP,Yi′′、Yi′为中间变量;
2-3.节点的子秘密分发与恢复
在节点的子秘密分发之前,所有的节点MP需要将自己的公钥PKMP和地址标识AddrMP发送到系统进行注册;
2-3-1.秘密分发阶段
节点子秘密分发阶段,完全是由系统生成子秘密并分配给每个已注册节点;首先,系统随机选择u-1个元素b1,b2,…,bu-1∈GF(q1),其中GF(q1)为有限域,并构建一个u-1阶的多项式f2(x)=KMP+b1x+b2x2+…+bu-1xu-1,其中KMP为节点所共享的秘密;接着,系统随机选择m个不同的非零元素xi″∈GF(q1),i″=1,2,…,m,对每个非零元素xi″分别计算yi″=f2(xi″)mod q1,得到数对(xi″,yi″),该数对即分发给节点的子秘密;最后,系统通过区块链交易的形式将该子秘密(xi″,yi″)分配给加入系统的节点;
每当有新节点加入时,系统会根据秘密保存的多项式f2(x),为其计算子秘密,并分配给新节点;
2-3-2.秘密恢复阶段
对于KMP的恢复,假定任意u个子秘密就能够一起恢复出KMP,即秘密恢复门限为(u,m);
根据式(7),当x=0时,多项式f2(x)的常数项f2(0)=KMP,即得到需要恢复的秘密KMP;
步骤3所述的基于交易的内容审查,包括4个交易阶段:内容审查的发起交易、审查请求验证交易、内容审查结果交易以及内容提供者CP拒绝审查处理交易,具体实现如下:
3-1.内容审查发起交易
3-1-1.监管部门SP审查预交易
内容审查是由系统中注册过的监管部门SP发起的,假定一共有l个监管部门可表示为SP1,…,SPi,…,SPl,i=1,2,…,l,某个监管部门SPi发起内容审查过程如下所述:
首先,SPi向其他的监管部门广播一个内容审查请求req,请求如式(8)所示:
在式(8)中,PKCP表示需要被审查的内容提供者的地址;表示某个内容监管部门的审查信息如式(9)所示:
在式(9)中,和分别表示SPi的公钥和地址;其中是SPi的子秘密;σ表示信息的签名,即st表示当前的时间戳;
接着,当l-1个监管部门SP1,…,SPi-1,SPi+1,…,SPl收到该请求如式(8),需要先对该SPi进行审查信息有效性验证,若有效,则会加入自己的审查信息,其中SPi审查信息的验证过程如下:
①验证时间戳st,从中提取st,验证当前时间Tcur与st之差是否在有效期内;
②验证签名σ,提取σ并进行签名验证
③验证SPi提供的子秘密是否属实,根据计算验证是否成立,如果是,则说明所给的属实;
④若上述验证都通过,则加入自己的审查信息;
最后,当SPi接收到该内容审查请求的至少v-1个响应时,SPi从中选取v-1组审查信息,并提取子秘密加上自己的子秘密,计算子秘密和最后形成SP的审查信息集InfoSP,如式(10)所示:
在式(10)中,由SP的子秘密和SumKSP和v个经处理的SP的审查信息组成,其中可见式(11),与式(9)不同之处是式(11)使用系统的公钥PK0对进行加密;
SPi将作为交易内容形成一个审查预交易(pre-transaction,preTsup);preTsup的交易内容由加入审查的监管部门和节点的审查信息集构成,其中的上标v表示v个监管部门审查信息已添加完全,的上标0表示还未有节点加入;
3-1-2.节点MP审查请求交易
假定网络中共有m个在线节点MP,其中某个节点MPj收到preTsup验证并形成最终的审查请求交易过程如下:
首先,MPj验证是否有效,前两步时间戳和签名验证相同,第三步验证SP子秘密是否属实,只需验证式(12)是否成立;
接着,若验证成功加入自己的审查信息如式(13)所示:
在式(13)中,为该节点MPj的地址;其中是MPj的子秘密;σ表示签名;
最后,当有u个节点审查信息加入完成即形成一个完整的审查请求交易TRequest如式(14)并广播到全网;
3-2.审查请求验证交易
当上述的内容审查请求写入区块链之后,区块链系统能够验证该审查信息的有效性;系统使用自身私钥SK0获取上述审查请求交易的交易内容接着使用SK0解密上述审查信息中的得到计算得到监管部门的子秘密再者根据所提出的秘密恢复方法进行秘密恢复,分别得到KSP和KMP;最后获得交易审查码生成代码的密钥K=KSP||KMP;
生成审查码vCode的执行代码Code是被加密过的,这个被加密的审查码生成代码可记作EncCode,即EncCode=EncK(Code),因而想要准确地执行Code生成vCode需要正确的密钥K,如果Code=DecK(EncCode)得到的Code可以正常运行,则表示解密成功,也说明密钥K是正确的,即审查请求验证成功;
如果审查信息验证成功,则系统执行Code生成vCode,之后形成审查验证交易TVerify如式(15)所示:
另外,为了确保vCode仅可使用一次,还需要建立一个Cuckoo Filter记作CFver;在将TVerify写入区块链之前,节点需要先对TVerify中的vCode合法性进行验证,验证步骤如下:
1)验证时间戳st,防止vCode被重放;
2)验证签名,确保vCode生成的合法性,即由系统生成;
3)验证审查信息的合法性,验证式(12)是否成立,若成立则说明该审查请求是由多个监管部门同意之后才发起的,因而生成的审查码是合法的;
4)进行正常的区块链交易验证,若成功,将该交易写入区块链,同时将该vCode的哈希值H(vCode)插入CFver;
3-3.内容审查结果交易
某一发起审查请求的监管部门SPi使用审查码vCode对内容提供者CP的共享内容进行审查,具体实现如下:
3-3-1.内容审查交易
SPi接收到系统通过TVerify传递给他的vCode时,说明SPi对于内容提供者CP的内容审查请求已经通过;SPi使用vCode对CP的所有的共享内容进行审查,并形成一个内容审查交易TSupervision如式(16)所示:
3-3-2.内容审查结果交易
对于CP,首先会接收到系统通过TVerify传递给他的审查码vCode;接着,CP将接收到SPi通过TSupervision传递给CP包含审查码的交易内容vCode||st||σ,提取其中的vCode记作vCode′,具体的审查码验证流程步骤如下:
1)验证vCode是否一致,即验证vCode=vCode′是否成立;
2)验证签名,确保该审查是由SPi发起的;
3)审查码可用性验证,如果在CFver中可以找到H(vCode′),则说明该vCode′可用;
vCode验证成功后,SPi能够对CP的所有共享内容进行审查,进行预处理验证之后,利用现有的内容分析技术形成一个审查报告{Report},并生成审查结果交易TResult如式(17):
3-4内容请求者拒绝审查处理
当该监管部门SPi接收到内容提供者CP拒绝审查之后,监管部门再次发起内容审查交易TSupervision,若是CP连续3次拒绝监管部门的内容审查,该CP用于交易传输的公钥地址PKCP将被挂起:将该CP的PKCP加入系统的CP异常状态表;
对于某一监管部门SPi:挂起某个CP,向系统发起一个挂起交易THang-up如下:
系统获取THang-up之后,需要验证vCode确保SPi的挂起请求是合法性,若验证通过,则将该CP加入用户异常状态表,状态设置为挂起;
CP在被挂起的时效内向该监管部门提出申诉,向该监管部门发起一个申诉请求reqC,如式(19)所示:
reqC=PKCP||cCode||{Complain}||σ||st (19)
式(19)中,cCode为申诉代码;{Complain}表示申诉报告,同一个CP仅可每隔t1/5申诉一次,否则无效;
SPi接收申诉之后,再次向系统发起审查请求交易重新获取vCode,并使用这个新的vCode对CP进行内容审查;若CP未拒绝,则SPi向系统发起一个状态修正交易TModify如式(20)所示:
系统接收TModify之后,需要验证vCode确保SPi的状态修正请求的合法性,若验证通过,则将该CP从用户异常状态表中删除。
2.根据权利要求1所述的一种基于门限密钥共享及区块链的共享内容监管方法,其特征在于在SPi在进行内容审查之前还需要进行以下两步预处理:
①查找区块链确保最近的H(ResN′||POp′)更新时间是否在接收到vCode之前;
②验证H(ResN′||POp′)=H(ResN||POp)是否成立,即记录在区块链中的内容和访问权限与当前该CP的所有内容以及对应的访问权限是否一致;若步骤①,②中有一点不满足则将该用户的审查状态记为2;接着SPi对CP的共享内容利用内容分析技术,进行内容审查得到结果后,SPi先更改所有涉及违法内容的访问权限;然后形成一个审查报告{Report};最后生成一个审查结果交易TResult,见式(17)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910476572.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种密钥信息生成方法及装置
- 下一篇:一种量子数据链保密终端及保密通信网络