基于零知识证明的用户身份隐私保护方法及系统的制作方法

文档序号:9306528阅读:640来源:国知局
基于零知识证明的用户身份隐私保护方法及系统的制作方法
【技术领域】
[0001]本发明涉及计算机信息安全技术领域,具体涉及一种基于零知识证明的用户身份隐私保护方法及系统。
【背景技术】
[0002]大数据包含了大量的原始信息,通过对大数据的分析和使用,用户能够更有效更准确地获得关于事物的知识规律和发展趋势。但是,大数据在给用户带来便利和益处的同时,也带来了用户身份隐私泄露的危害。
[0003]大量事实表明,用户在使用大数据时,由于其身份信息与行为状态会被记录,身份隐私面临着极大的威胁。而且在大数据环境下,用户面临的威胁并不仅限于个人隐私泄漏,还在于基于大数据对用户状态和行为的预测。很多研究和实现方案常常认为采用匿名和泛化处理,就可以保护用户的隐私。但事实上,仅通过匿名和泛化并不能很好地保护用户的身份隐私。这是由于对用户的记录数据具有累积性和关联性,单个的记录信息可能不会暴露用户的身份隐私,但是如果能够将用户的多个行为记录关联在一起时,用户的身份隐私就可能被暴露。因此,应当设计大数据环境下的用户身份隐私保护方法,使得用户既能够合法地登录大数据发布平台,正常地分析使用大数据,又不暴露其真实的身份信息。

【发明内容】

[0004]有鉴于此,本发明提供一种基于零知识证明的用户身份隐私保护方法及系统。
[0005]一种基于零知识证明的用户身份隐私保护方法,包括如下步骤:
[0006]S1.身份密钥请求:数据使用者通过已经建立的安全信道向身份管理中心发送身份密钥生成请求信息,请求信息中包含数据使用者的身份信息;
[0007]S2.身份密钥生成:身份管理中心根据使用数据使用者的身份信息,为数据使用者生成唯一代表其身份的身份密钥,将数据使用者的身份信息存入本地维护的数据使用者信息表中,将数据使用者的身份密钥通过安全信道发送给数据使用者;
[0008]S3.公共参数设置:设置数据使用者与大数据发布平台的公共参数;
[0009]S4.零知识证明协议:在数据使用者与大数据发布平台之间执行交互式零知识证明协议,以证明数据使用者拥有身份管理中心颁发的身份密钥,则数据使用者为合法用户;
[0010]S5.共享密钥请求:数据使用者通过安全信道向身份管理中心发起共享密钥生成请求信息;
[0011]S6.共享密钥生成:身份管理中心为数据使用者和大数据发布平台生成共享密钥,将共享密钥生成请求随机数及生成的共享密钥存入本地维护的数据使用者信息表中,并通过安全信道将共享密钥发送给数据使用者和大数据发布平台;
[0012]S7.账号和口令生成:大数据发布平台为数据使用者生成临时账号和对应的口令,通过共享密钥与数据使用者建立安全信道,通过该安全信道将临时账号和口令发送给数据使用者。
[0013]一种基于零知识证明的用户身份隐私保护系统,其包括身份管理中心(IdentityManagement Centre, IMC)、大数据发布平台(Big Data Distrubit1n Platform, BDDP)以及数据使用者(即用户);身份管理中心、大数据发布平台、数据使用者之间均有公共信道或安全信道;其中,身份管理中心与大数据发布平台、身份管理中心与数据使用者之间的安全信道可基于证书的方式建立,不属于本发明的讨论范围。
[0014]数据使用者包括身份密钥管理模块(Identity Key Management Module, IKMM)、第一零知识证明模块(Zero-Knowledge ProofModule user, ZKPMu)、第一共享密钥管理模块(Shared Key Management Module user, SKMMu)等模块;第一零知识证明模块分别与身份密钥管理模块、第一共享密钥管理模块连接;
[0015]大数据发布平台包括第二零知识证明模块(Zero-Knowledge Proof Moduleserver, ZKPMs)、账号口令生成模块(Account Password Generat1n, APGM)、第二共享密钥管理模块(Shared Key Management Module server, SKMMs)等模块;账号口令生成模块分别与第二零知识证明模块、第二共享密钥管理模块连接;
[0016]身份管理中心包括身份密钥生成模块(Identity Key Generat1nModule, IKGM)、用户身份管理模块(User Identity Management Module, UIMM)、共享密钥生成模块(Shared Key Generat1n Module, SKGM)等模块;用户身份管理模块分别与身份密钥生成模块、共享密钥生成模块连接;
[0017]身份密钥管理模块,用于向身份管理中心发起身份密钥请求,请求身份管理中心为数据使用者生成唯一代表其身份信息的身份密钥,并存储和管理身份管理中心返回的身份密钥;
[0018]身份密钥生成模块,用于根据身份密钥请求为数据使用者生成唯一代表其身份信息的身份密钥,并将身份密钥发送给数据使用者;
[0019]用户身份管理模块,用于管理数据使用者的身份信息、共享密钥生成请求随机数、共享密钥之间的对应关系,使得根据数据使用者的共享密钥生成请求生成的共享密钥能够发送给该数据使用者;
[0020]第一零知识证明模块,用于根据公共参数执行交互式零知识证明协议向大数据发布平台证明数据使用者的合法身份;
[0021]第二零知识证明模块,用于根据公共参数执行交互式零知识证明协议对数据使用者的身份进行验证;
[0022]账号口令生成模块,用于为数据使用者生成临时的账号和账号对应的口令;
[0023]共享密钥生成模块,用于在接收到数据使用者的随机数请求后,为数据使用者和大数据发布平台生成共享密钥,并将共享密钥通过安全信道发送给数据使用者和大数据发布平台;
[0024]第一共享密钥管理模块,用于生成随机数,并将随机数发送给共享密钥生成模块,存储并管理从共享密钥生成模块处获得的共享密钥,并用于解密从第二共享密钥管理模块处接收到的加密临时账号和口令;
[0025]第二共享密钥管理模块,用于存储并管理从共享密钥生成模块处获得的共享密钥,并用于加密临时账号和口令,并将加密后的临时账号和口令发送给第一共享密钥管理丰旲块。
[0026]本发明利用交互式的零知识证明方法,使得用户能够合法地登录大数据发布平台,正常地分析使用数据,又不暴露其真实的身份信息。
【附图说明】
[0027]图1为本发明实施例的基于零知识证明的用户身份隐私保护方法流程图;
[0028]图2是图1中步骤S4的身份验证流程图;
[0029]图3为本发明实施例的基于零知识证明的用户身份隐私保护系统结构框图。
【具体实施方式】
[0030]如图1所述,本发明实施例提供一种基于零知识证明的用户身份隐私保护方法流程,包括如下步骤:
[0031]S1.身份密钥请求:数据使用者10通过已经建立的安全信道向身份管理中心30发送身份密钥生成请求信息,请求信息中包含数据使用者10的身份信息。
[0032]S2.身份密钥生成:身份管理中心30根据使用数据使用者10的身份信息,为数据使用者10生成唯一代表其身份的身份密钥,将数据使用者10的身份信息存入本地维护的数据使用者信息表中,将数据使用者10的身份密钥通过安全信道发送给数据使用者10。
[0033]S3.公共参数设置:设置数据使用者10与大数据发布平台20的公共参数。
[0034]S4.零知识证明协议:在数据使用者10与大数据发布平台20之间执行交互式零知识证明协议,以证明数据使用者10拥有身份管理中心30颁发的身份密钥,则数据使用者10为合法用户。
[0035]S5.共享密钥请求:数据使用者10通过安全信道向身份管理中心30发起共享密钥生成请求信息。
[0036]S6.共享密钥生成:身份管理中心30为数据使用者10和大数据发布平台20生成共享密钥,将共享密钥生成请求随机数及生成的共享密钥存入本地维护的数据使用者信息表中,并通过安全信道将共享密钥发送给数据使用者10和大数据发布平台20。
[0037]S7.账号和口令生成:大数据发布平台20为数据使用者10生成临时账号和对应的口令,通过共享密钥与数据使用者10建立安全信道,通过该安全信道将临时账号和口令发送给数据使用者10。
[0038]上述步骤S1、S2、S3为参数设置阶段;步骤S4为身份验证阶段,为大数据发布平台20对数据使用者10的身份进行验证的阶段,数据使用者10向大数据发布平台20证明其拥有可信的身份管理中心30为其生成的身份密钥S,基于Schnorr身份认证方案实现;步骤S5、S6、S7为数据使用阶段。
[0039]可选地,
[0040]所述步骤SI包括:
[0041]Sll.数据使用者10中身份密钥管理模块11通过伪随机数生成算法生成随机数
Nonce10O
[0042]S12.身份密钥管理模块11将数据使用者10的身份信息表示为IDu,将Noncein 1
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1