一种应用于云存储中的安全密钥管理方法_2

文档序号:8226031阅读:来源:国知局
。它输入的 是系统参数params、一个对应深度为t < L的本叶子节点RHI0的身份矢量IDt、和本叶子节 点RHI0的私钥SKt。这个算法输出此叶子节点连接的所有MHN用户的身份认证签名sig t。
[0025] 步骤4 :注册(Register):此算法也是由叶子节点RHI0执行的。它的输入包括一 个在分层树中位于1 < L的MHN用户的身份矢量ID1= (ID p ID2,…,ID),和一个对应身份 矢量IDh的私钥SK ^。本算法输出这个MHN用户的私钥士。
[0026] 握手阶段:在本步骤中,两个MHN用户A和B希望建立一个虚拟链接。本步骤包括 三个算法,同时在A和B用户端运行。本文仅仅描述MHN用户A端的运行工作,B端的工作 与它与A端类似。算法运行状况如下。
[0027] 步骤1 :ID认证签名(IDAuthSign):它的输入包括NHN用户A的身份矢量取、在 准备阶段生成的相对应的密钥SKA,一个时间戳tA。这个算法输出一个由私钥片段secretA 生成共享密钥片段shareA,和一个签名SA。
[0028] 步骤2 :ID认证确认(IDAuthVerify):它的输入包括NHN用户A的身份矢量取、时 间戳tA。生成共享密钥片段shareA,和签gSA。如果SA是由A生成的,那么输出"valid"; 如果不是由A生成的,那么输出"invalid"。
[0029] 步骤3 :分享密钥生成(ShareKeyGen):输入MHN用户A和B的分享密钥片段,生成 分享密钥kAB。
[0030] 每当两个MHN用户A和B要建立一个虚拟链接,那么MHN用户A运行IDAuthSign 以生成私钥片段secretA,分享密钥片段shareA和签名SA。然后它发送给B的内容是 (IDA,shareA,tA,SA)。相应地,MHN用户B同时独立地运行IDAuthSign算法,并发送给A以 下内容:(IDB,shareB,tB,SB)。
[0031] 当收到B发来的信息后,用户A运行IDAuthVerify验证签名以确认B的身份。B 也以相同的方法验证A的身份。
[0032] 若双方彼此确认了各自的身份,双方开始计算他们的分享密钥kBA
[0033] ShareKeyGen (secret A, shareB)
[0034] 或
[0035] kBA- ShareKeyGen (secret B, shareA)
[0036] (3)优点及功效
[0037] 安全性:本发明中,准备阶段的子协议是基于HIBS体制构造的,握手阶段的子协 议的基础是Diffie-Hellman密钥交换算法。在准备阶段,只有掌握RHIO密钥、在确定层级 的用户才能被注册到MHN。本算法在分层身份基签名安全模型下是可证安全的。
[0038] 高效性:由于本发明中,准备阶段的算法仅仅被运行一次,所以SAKE体制的性能 主要取决于握手阶段的表现。握手信息绝大部分包括G群上的两个元素。而且,若两个MHN 用户有同一个虚拟RHIO叶子祖先,那么握手阶段通信信息的规模可以被进一步的缩减。若 两个用户间要分享的内容中包括一些共同的"信息",那么这些信息可以在通信过程中被缩 减。因此,由非交互式密钥交换的性质可以证明,签名文件的大小可以被进一步的缩减。
[0039] 就计算效率而言,认证操作仅仅需要两次线性对运算和有限次的快速幂运算。这 表明SAKE算法的计算开销是独立于MHN的用户分层结构的。因此,SAKE是高效且支持扩 展的。
【附图说明】
[0040] 图1为MHN的网络模型;
[0041] 图2MHN的分层框架;
[0042] 图3MHN虚拟架构;
[0043] 图4为本发明流程框图。
【具体实施方式】
[0044] 见图1 一图4,我们的SAKE方案是基于双线性对构造的。G*GT是两个q阶素数 群,g是G群上的一个生成元。双线性对是一个映射e:GXG-GT,它具有以下性质:
[0045] (1)双线性:对于所有u,vgG和a,be都有
[0046] e(ua,vb) =e(u,v)ab
[0047] (2)非退化性:GXG的映射并未覆盖所有G群上的数据。
[0048] (3)可计算性;对于任意u,vGG,有有效地计算e(u,v)的方法。
[0049] 本发明的算法构造如下:
[0050] 1?准备阶段
[0051] (1)初始化Setup(A,L) :NHIO生成两个有关联的群G*GT,满足双线性映射 e:GXG-GT。同时,本算法选择了一个密码学杂凑算法H: {0,1}*-G。然后,NHIO随 机选择一个生成元geG,选择一个随机的ldfl么并另uQ= 1,% =#0。最后,NHIO将主 密钥SKd-(ud,屯,vj保密,并公布系统参数
[0052] params= (G,GT,e,g,H)
[0053] (2)扩散Extract(params,IDt,,SKt):NHIO或者位于层级t彡L-l,身份矢量为IDt =(吼,…,IDt)的RHIOt可以生成位于层级t彡C彡L-l,身份矢量为IDt,=取,…,IDt, 的RHIOt,的私钥。它首先选择随机数dt+1dt,么g。然后对于t+1彡i彡t',计算匕 =H(ID」卜.| 1%)和
[0054]
【主权项】
1. 一种应用于云存储中的安全密钥管理方法,其特征在于;该方法具体步骤如下: 准备阶段:准备阶段共包括4个算法,定义如下: 步骤1 ;初始化即Se化P ;NHIO运行此算法,此算法输入一个安全参数入和一个系统层 数深度最大值L输出系统参数params、一个系统主密钥SK。,NHIO公布params,并将SK。保 密; 步骤2 ;提取即Extract ;由NHIO或者高层级的RHIO执行,该算法的输入包括一个 t'《L的低层级的RHIO的身份矢量ID。一个对应该个RHIO的高层级RHIO即t《t'的 私钥SKt,或是NHIO的SK。,本算法输出低层级的RHIO的私钥SKt,; 步骤3 ;签名生成即SignGen ;所有的叶子节点RHIO都需要运行此算法,它输入的是系 统参数params、一个对应深度为t《L的本叶子节点RHIO的身份矢量IDt、和本叶子节点 RHIO的私钥SKt,该个算法输出此叶子节点连接的所有血的用户的身份认证签名sigt; 步骤4 ;注册即Register ;此算法也是由叶子节点RHIO执行的,它的输入包括一个在 分层树中位于1《L的MHN用户的身份矢量IDi= (ID 1,1〇2, . . .,IDi),和一个对应身份矢 量IDh的私钥SK 1_1,本算法输出该个MHN用户的私钥di; 握手阶段;在本步骤中,两个MHN用户A和B希望建立一个虚拟链接,本步骤包括=个 算法,同时在A和B用户端运行,描述MHN用户A端的运行工作,B端的工作与它与A端类 似,算法运行状况如下: 步骤1 ;ID认证签名即IDAuthSign ;它的输入包括NHN用户A的身份矢量IDa、在准备 阶段生成的相对应的密钥SKa,一个时间戳tA;该个算法输出一个由私钥片段secret A生成 共享密钥片段shareA,和一个签名Sa; 步骤2 ;ID认证确认即IDAuthVerify ;它的输入包括NHN用户A的身份矢量IDa、时间 戳tA,生成共享密钥片段shareA,和签名Sa;如果S A是由A生成的,那么输出%alid";如果 不是由A生成的,那么输出"invalid"; 步骤3 ;分享密钥生成即化arelfeyGen ;输入血的用户A和B的分享密钥片段,生成分享 密钥kie; 每当两个MHN用户A和B要建立一个虚拟链接,那么MHN用户A运行IDAuthSign W生成 私钥片段secretA,分享密钥片段shareA和签名Sa;然后它发送给B的内容是(IDA,shareA, tA,Sa),相应地,MHN用户B同时独立地运行IDAuthSi即算法,并发送给A W下内容;(1咕, shareB,tg,Sb); 当收到B发来的信息后,用户A运行IDAuthVerify验证签名W确认B的身份,B也W 相同的方法验证A的身份; 若双方彼此确认了各自的身份,双方开始计算他们的分享密钥kAc= kcA, k:AB和 ShareKeyGen(secret A,shareB) 或 k:BA和 ShareKeyGen (secret B,sharej。
【专利摘要】一种应用于云存储中的安全密钥管理方法,它有七大步骤:1:初始化Setup(λ,L)→params;2:扩散Extract(params,IDt′,SKt)→SKt′;3:签名生成SignGen(params,IDt,SKt)→sigt;4:注册Register(params,IDt,SKt-1)→SKl:5:ID认证签名IDAuthSign(IDA,SKA,tA)→{shareA,SA};6:ID认证确认IDAuthVerify(IDA,shareA,tA,SA)→isvalid;7:分享密钥生成ShareKeyGen(shareB,secretA)→kAB。它解决了不同网络环境下用户的密钥协商和交换工作,保护了用户存储在云服务器中数据隐私和安全。
【IPC分类】H04L29-08, H04L29-06
【公开号】CN104539602
【申请号】CN201410806730
【发明人】刘建伟, 冯伯昂, 刘巍然, 伍前红
【申请人】北京航空航天大学
【公开日】2015年4月22日
【申请日】2014年12月22日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1