CN112866990B - 一种具有激励机制的条件身份匿名隐私保护公共审计方法 - Google Patents

一种具有激励机制的条件身份匿名隐私保护公共审计方法 Download PDF

Info

Publication number
CN112866990B
CN112866990B CN202110019302.3A CN202110019302A CN112866990B CN 112866990 B CN112866990 B CN 112866990B CN 202110019302 A CN202110019302 A CN 202110019302A CN 112866990 B CN112866990 B CN 112866990B
Authority
CN
China
Prior art keywords
user
identity
information
key
public
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110019302.3A
Other languages
English (en)
Other versions
CN112866990A (zh
Inventor
黄荷姣
赵芥
顾崇林
颜德开
孙在省
周洪亮
闫志平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Graduate School Harbin Institute of Technology
Original Assignee
Shenzhen Graduate School Harbin Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Graduate School Harbin Institute of Technology filed Critical Shenzhen Graduate School Harbin Institute of Technology
Priority to CN202110019302.3A priority Critical patent/CN112866990B/zh
Publication of CN112866990A publication Critical patent/CN112866990A/zh
Application granted granted Critical
Publication of CN112866990B publication Critical patent/CN112866990B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication

Abstract

本发明公开了一种具有激励机制的条件身份匿名隐私保护公共审计方法,包括:系统初始化步骤;匿名身份和系统签名私钥生成步骤;数字签名产生和加密数据的外包步骤;挑战信息生成步骤;响应证明信息生成步骤;数据审计验证步骤;激励机制步骤。本发明通过与改进的椭圆曲线签名算法相结合,将区块链核心技术整合到云存储数据公共审计模型中来抵抗腐败的云服务器,不仅大大地提高外包数据完整性验证过程的安全性,而且不以牺牲公共审计者TPA的性能开销为代价。

Description

一种具有激励机制的条件身份匿名隐私保护公共审计方法
技术领域
本发明涉及网络空间安全下的云存储大数据安全与身份隐私保护技术领域,特别是涉及一种具有激励机制的条件身份匿名隐私保护公共审计方法。
背景技术
当今,随着无线智能设备的迅速普及和“自媒体”时代的兴起,越来越多的用户已习惯于使用自身携带的智能设备来记录生活或工作中的所见所闻。例如,摄影师使用摄像机来给一对新人的婚礼进行摄影,秘书借用录音笔来全程记录领导所安排的重要任务,路人拿出手机来拍摄一个老赖碰瓷的全过程等等。众所周知,随着时间的推移和设备被频繁的使用,用户所拥有的智能设备所产生的数据将以指数级增长。那么,本地存储这些大数据文件(包括视频、录音、照片等)将给资源有限的用户带来了沉重的负担。一个潜在的解决方法就是直接导出数据到本地磁盘或购买新的内存设备来扩展设备的存储空间,但是导出这些大数据到本地磁盘或更换存储设备将给用户带来极大的数据管理负担和高昂的设备购买费用。同时,本地磁盘的资源也是有限的,且用户不能随时随地的访问这些数据。因此,如何发展一种先进的存储技术,既能满足用户大容量的存储空间和减轻繁琐的数据管理负担,又能以合理的价格来让用户接收它。幸运的是,云存储技术的出现能解决这些固有的问题,因为云存储技术具有按需自主服务,随时随地的网络接入,快速灵活的资源分配等特性。也就是说,云存储技术以一种合理的租凭价格为云用户提供了海量的数据存储空间和强大的数据处理能力。
虽然云存储技术为用户提供了众多的便利或好处,但仍然存在着一些严峻的安全威胁将影响用户安心地享受这样的服务。因为如果用户外包的数据是高敏感的(例如,医疗数据、举报材料、机密合同等。),同时,数据文件的上传是在公开网络中传输的,而在公开网络环境下攻击频繁发生。其次,一旦成功地将设备产生的大数据文件上传到云服务器上之后,用户就对这些外包数据文件失去了直接的物理控制。此外,对于云服务器而言,其确实存在着内外安全威胁。因为系统硬件损坏、软件Bug或人为等因素等而使得用户的数据文件被丢失的情形时有发生。云服务器由于是由许多的云服务器管理员所控制和管理,其本身就是一个半可信的实体,它可能会为了节约自身的存储空间而删除用户不经常访问的数据,而对外声称用户的数据是完整无缺的;更可恶的是,它可能会直接篡改用户的数据来谋取利益或迎合他人。然而,任何的数据的篡改和丢失都将会给用户带来严重的后果。由上所述,用户担忧数据的传输过程是否是安全的同时还总是怀疑存储在云服务器上的数据是否完整。因此,使用先进的密码技术来确保数据的机密性和对存储在云服务器上的外包数据进行完整性审计是极其有必要且具有十分有意义的。传统地,用户是定期地从云服务器上下载全部数据文件来逐一地检查,但是这些方法是非常不现实的,因为这将给用户带来庞大的通信开销和计算成本。
公共云审计技术能使得用户委托一个第三方审计者(TPA)来代替用户周期性地检查远程数据的完整性。具体地,TPA随机地选择一个挑战信息给云服务器,云服务器基于挑战信息而为TPA生成对应的响应证明信息,并传送给TPA,第三方审计者通过安全的验证方程来检查其完整性,最后,TPA将审计结果发送给用户。整个审计过程是一个概率性方法,它不会检索和下载整个数据集来检查,就能达到相同的验证效果。然而,如果一个外部敌手在第三方审计者和云服务器交互过程中发起中间人攻击,公共云审计技术是无法抵制这一类攻击的。也就是说,敌手首先截获TPA发送给云服务器的挑战信息,然后再次获得云服务器发送给TPA的响应证明信息,即使该敌手只是单纯地获取或重放这些数据,而不是直接篡改后再分别发送给对应的实体,这也可能会泄漏用户的敏感数据。
此外,今年来,随着国家大力向公民宣传和教育有关网络安全和个人隐私安全的知识。人们已逐渐意识到个人的身份隐私与数据隐私保护同等重要。人们总担心自己的个人健康、购买记录、路程行踪等隐私他人非法获取;更严重的是,为了社会的正义与和谐发展,勇敢的用户向司法机关举报他人违法犯罪的证据时,完全可能会被一些知情者告密或悄悄的把用户的具体身份信息泄露出去,这将置于这些用户于极其危险环境中。因此,为了更好的督促每一个公民遵纪守法,以及鼓励勇敢的用户向司法机关提供个人或团体的道德败坏、违法犯罪和贪污受贿者的有力事实证据。司法机关应该在完善激励机制的同时,务必要确保举报者的生命安全免于涉事者极其同伙的报复。近年来,大量的身份的隐私保护方法已经被提出来解决用户匿名的问题。然而,这些方法都基本都是把用户的身份进行全匿名,这确实完全地保护了用户的敏感身份信息。可是在实际的生活中,这就不利于司法机关追踪、揭示或逮捕恶意的用户提交垃圾信息或诽谤他人的情况。遗憾的是,这些开放性问题在之前的研究工作中没有被解决或更好的解决。因此,在公共审计模型中要实现具有激励机制的条件身份匿名隐私保护方法是非常有趣而又极其困难的研究问题。
发明内容
本发明的目的在于克服现有技术的不足,提供一种具有激励机制的条件身份匿名隐私保护公共审计方法。
本发明的目的是通过以下技术方案来实现的:一种具有激励机制的条件身份匿名隐私保护公共审计方法,包括:
系统初始化步骤:生成系统的主私钥和主公钥,以及密钥生成中心的私钥和公钥;生成一个密钥集合,并选择一个密钥子集合发送给用户和公共审计者;定义若干安全散列函数,并选择签名-验证算法对和非对称加减密算法对;
匿名身份和系统签名私钥生成步骤:用户发送加密-签名的注册信息给密钥生成中心;密钥生成中心对加密-签名注册信息进行解密,并验证用户的真实性和有效性,若验证成功,则恢复出用户的注册信息;密钥生成中心根据用户的注册信息计算用户的匿名身份,然后对匿名身份进行加密和签名生成加密-签名的匿名身份,并将加密-签名的匿名身份发送给用户;用户对加密-签名的匿名身份进行解密,并验证其有效性,若验证成功则恢复出用户的匿名身份、系统签名私钥和签名倍点值;用户对系统签名私钥进行验证,若验证成功则接收该系统签名私钥,否则拒绝接收该系统签名私钥,并要求密钥生成中心重新生成相应的系统签名私钥;
数字签名产生和加密数据的外包步骤:用户将举报数据文件分割成相同大小的数据块,计算文件标识符的标签值,并计算基于数据块的数字签名,并对每一个数据块进行加密盲化;用户计算数字签名的聚合信息和元数据集,并根据基于区块链的默克尔哈希树结构、盲化后的数据块和元数据集计算第一根哈希值,用户上传第一存储信息到区块链上进行存储,用户上传第二存储信息到云服务器上进行存储,所述第一存储信息包括文件标识符的标签值、文件标识符、盲化后的数据块和元数据集,所述第二存储信息包括文件标识符的标签值、文件标识符、盲化后的举报数据文件、数字签名的聚合信息和第一根哈希值;区块链验证文件标识符的标签值是否有效,若验证有效,则计算每个元数据的元数据查询标签值,并将元数据和元数据查询标签值上链到区块链的数据库,并将其同步到整个区块链上;将第一组合信息发送给云服务器,第一组合信息包括元数据查询标签值和第二根哈希值,第二根哈希值是区块链根据盲化的数据块对应的元数据来生成的根哈希值;云服务器验证第一根哈希值和第二根哈希值是否相等,若相等则存储第二组合信息,所述第二组合信息包括第三存储信息和元数据查询标签值;
挑战信息生成步骤:公共审计者从所有的数据块的集合中以相同的概率随机选择一个数据块子集,并为数据块子集中每一个元素选择一个随机整数,并根据该随机整数据生成挑战信息,并将挑战信息发送给云服务器;
响应证明信息生成步骤:云服务器接收到公共审计者发送过来的挑战信息后,查询被挑战到的数据块、元数据查询标签集合和文件标识符的第一根哈希值;云服务器计算验证倍点值、数据块的聚合信息和具有同态消息认证码功能的聚合签名信息,然后生成基于挑战信息的响应证明信息,并将响应证明信息返回给公共审计者;
数据审计验证步骤:公共审计者接收到响应证明信息后,根据元数据查询集合向区块链检索对应的元数据和隶属于文件标识符的第二根哈希值;公共审计者比较第一根哈希值和第二根哈希值是否相等,若不相等则终端审计进程并向用户发送数据块已被丢失或篡改的审计结果;若相等,则公共审计者检查存储在云服务器上的数据是否完整;
激励机制步骤:用户发送加密-签名的注册信息给密钥生成中心,密钥生成中心恢复出用户的真实身份,并比较密钥生成中心恢复出的用户真实身份与原来用户的真实身份是否相等,若相等则表示用户为证据数据的真实上传者,若不相等则表示用户为冒领者或假用户。
优选的,所述系统初始化步骤包括:
系统随机地选择两个大素数p和q来定义剩余类环
Figure GDA0002970397950000041
上的椭圆曲线Ε;定义P是椭圆曲线Ε上的一个点,且P也是阶为q的加法循环群G=<P>上的一个生成元;密钥生成中心PKG从剩余类环
Figure GDA0002970397950000042
中随机选择的一个整数α来作为系统的主私钥,并计算Ppub=αP作为系统的主公钥;
系统设置一个伪随机函数Prf:
Figure GDA0002970397950000043
其中,SKPrf是关于伪随机函数Prf的一个密钥集合,{0,1}*为二进制比特串,κ为一组序列数;系统从密钥集合SKPrf中选择一个密钥子集合skPrf,并通过安全信道将密钥子集合skPrf发送给用户U和公共审计者TPA;
系统分别定义四个安全的安全散列函数:h1:{0,1}*←G×G×{0,1}*,h2:
Figure GDA0002970397950000044
h3:
Figure GDA0002970397950000045
Η:{0,1}l←{0,1}*其中,Η是以太坊区块链的安全散列函数SHA3,{0,1}l是满足安全散列函数SHA3的二进制比特串;
系统选择一个安全的签名-验证算法对(Sig,Ver)和一个安全的非对称加减密算法对(Enc,Dec);密钥生成中心PKG选择一个安全的公私钥对(a,b),其中b=aP,b是密钥生成中心PKG的公钥,a是密钥生成中心PKG的私钥,a是密钥生成中心PKG从剩余类环中随机选择的一个整数。
优选的,所述匿名身份和系统签名私钥生成步骤包括:
为每个用户U设置一个唯一的用户真实身份Uid∈{0,1}*,用户U从剩余类环
Figure GDA0002970397950000046
中随机选择一个整数τ,并计算身份倍点值X=τP;用户U发送加密-签名的注册信息CUid=Encb(Sigsk(Uid,X))给密钥生成中心PKG,其中,(sk,pk)是用户U随机挑选的身份签名公私钥对;
密钥生成中心PKG接收到用户U发送过来的加密-签名注册信息CUid后,使用密钥生成中心PKG的私钥a对加密-签名的注册信息CUid进行解密;
密钥生成中心PKG利用身份签名公钥pk验证用户U的真实性和有效性:若验证失败,则密钥生成中心PKG拒绝用户U的系统注册;若验证成功,则密钥生成中心PKG从加密-签名的注册信息CUid恢复出用户U的注册信息(Uid,X);
密钥生成中心PKG计算用户U的真实身份Uid对应的匿名身份
Figure GDA0002970397950000051
其中,Time是匿名身份Aid的有效期;
密钥生成中心PKG基于用户U的匿名身份Aid而从剩余类环
Figure GDA0002970397950000052
中随机选择一个整数r,并计算系统签名私钥SkAid=r+αh2(Aid,R),其中R=rP;密钥生成中心PKG发送加密-签名的匿名身份CAid=Encpk(Siga(Aid,SkAid,R))给用户U,其中,R是签名倍点值;
用户U接收到加密-签名的匿名身份CAid后,利用身份签名私钥sk对加密-签名的匿名身份CAid进行解密;
用户U利用密钥生成中心PKG的签名公钥b验证加密-签名的匿名身份CAid的有效性:若验证失败,则用户U拒绝接收该加密-签名的匿名身份CAid;若验证成功,则用户从该加密-签名的匿名身份CAid中恢复出匿名身份Aid、系统签名私钥SkAid和签名倍点值R;用户U通过方程SkAidP=R+Ppubh2(Aid,R)对系统签名私钥SkAid进行验证:若方程输出结果为1,则用户U接收该系统签名私钥SkAid,否则,用户U拒绝接收该系统签名私钥SkAid,并要求密钥生成中心PKG重新生成相应的系统签名私钥SkAid
优选的,所述数字签名产生和加密数据的外包步骤包括:
用户U将举报数据文件M分割成相同大小的数据块
Figure GDA0002970397950000053
其中i∈[1,n];用户U计算文件标识符Fname的标签值Tag=Fname||n||Sigsk(Fname||n);用户U从剩余类环
Figure GDA0002970397950000054
中选择一个随机整数μ,并计算元数据的第一部分
Figure GDA0002970397950000055
和元数据的第二部分Wi=xi mod q,其中xi是椭圆曲线上点-元数据的第一部分
Figure GDA0002970397950000061
的横坐标,yi是椭圆曲线上点-元数据的第一部分
Figure GDA00029703979500000624
的纵坐标,并计算基于数据块mi的数字签名δi=(μiWi+SkAidmi)mod q,其中i∈[1,n];
用户U利用具有密钥子集合skPrf的伪随机函数Prf生成n个盲化因子
Figure GDA0002970397950000062
用户对每一个数据块mi进行
Figure GDA0002970397950000063
的加密盲化,其中i∈[1,n],
Figure GDA0002970397950000064
Figure GDA0002970397950000065
的逆元,举报数据文件M={m1,…,mi,…mn}被盲化为
Figure GDA0002970397950000066
用户U计算数字签名δi的聚合信息ψ={δi}i∈[1,n]和元数据集
Figure GDA0002970397950000067
用户U根据基于区块链的默克尔哈希树结构MHT、被盲化的数据块
Figure GDA0002970397950000068
和元数据集
Figure GDA0002970397950000069
计算得到第一根哈希值Η(Λ)U,其中第一根哈希值Η(Λ)U的下标U表明是由用户U生成的;用户U上传第一存储信息
Figure GDA00029703979500000610
到区块链上进行存储,用户U上传第二存储信息{Tag,Fname,M*,ψ,Η(Λ)U}到云服务器上进行存储;
区块链接收到第一存储信息
Figure GDA00029703979500000611
后,利用用户公钥pk来验证Tag=Fname||n||Sigsk(Fname||n)是否有效:如果验证无效,区块链拒绝存储该第一存储信息
Figure GDA00029703979500000612
若验证有效,区块链根据每个盲化数据块
Figure GDA00029703979500000613
所对应的元数据
Figure GDA00029703979500000614
来计算元数据查询标签值
Figure GDA00029703979500000615
并将元数据
Figure GDA00029703979500000616
及对应的元数据查询标签值上传到区块链的数据库LevelDB,并同步到整个区块链上;区块链通过安全信道将第一组合信息
Figure GDA00029703979500000617
发送给云服务器,其中第二根哈希值Η(Λ)B是区块链根据盲化的数据块
Figure GDA00029703979500000618
对应的元数据
Figure GDA00029703979500000619
来生成的根哈希值,第二根哈希值Η(Λ)B的下标B表明是由区块链生成的;
云服务器接收到
Figure GDA00029703979500000620
后,验证
Figure GDA00029703979500000621
是否相等:如果相等,云服务器存储第二组合信息
Figure GDA00029703979500000622
如果不相等,云服务器拒绝存储第二组合信息
Figure GDA00029703979500000623
优选的,所述挑战信息生成步骤包括:
公共审计者TPA从所有的数据块集合[1,n]中以相同的概率γ随机地挑选一个含有θ个元素的数据块子集
Figure GDA0002970397950000071
其中,j≤i=[1,n];
公共审计者TPA为每一个
Figure GDA0002970397950000072
元素选择一个随机整数
Figure GDA0002970397950000073
公共审计者TPA将挑战信息
Figure GDA0002970397950000074
发送给云服务器,
Figure GDA0002970397950000075
表示公共审计者同概率地随机挑战的数据块所对应的位置标号。
优选的,所述响应证明信息生成步骤包括:
云服务器接收到公共审计者TPA发送过来的挑战信息
Figure GDA0002970397950000076
后,根据文件标识符Fname和下标定位符j查询被挑战到的数据块mj、元数据查询标签集合
Figure GDA0002970397950000077
和文件标识符Fname的第一根哈希值Η(Λ)U
云服务器选择一个随机整数
Figure GDA0002970397950000078
并计算验证倍点值T=t-1P、数据块的聚合信息
Figure GDA0002970397950000079
和具有同态消息认证码功能的聚合签名信息
Figure GDA00029703979500000710
云服务器将基于挑战信息
Figure GDA00029703979500000711
的响应证明信息proof={key,Η(Λ)U,T,ζ,ξ}返回给公共审计者TPA。
优选的,所述数据审计验证步骤包括:
公共审计者TPA接收到云服务器发送过来的响应证明信息proof={key,T,ζ,ξ}后,根据元数据查询集合
Figure GDA00029703979500000712
向区块链检索对应的元数据
Figure GDA00029703979500000713
和隶属于文件标识符Fname的第二根哈希值Η(Λ)B
公共审计者TPA比较
Figure GDA00029703979500000714
是否相等:若不相等,则公共审计者TPA中断所有的审计进程,并向该用户U发送审计结果0,其中,0表示存储在云服务器上的数据块已被丢失或篡改;若相等,则公共审计者TPA根据伪随机函数Prf的密钥skPrf计算伪随机值
Figure GDA00029703979500000715
和中间变量值
Figure GDA00029703979500000716
其中j∈[1,θ];
公共审计者TPA计算元数据聚合信息
Figure GDA00029703979500000717
其中j∈[1,θ];公共审计者TPA通过如下审计验证方程来检查存储在云服务器上的数据是否完整;
ξP=W+(ζ-η)(R+Ppubh2(Aid,R))+Th3(ζ,Tag)
如果验证方程成立,公共审计者TPA输出本次审计结果为1;如果验证方程不成立,公共审计者TPA输出本次审计结果为0,其中,1表示在该时间节点Timestamp之前,用户存储U在云服务器上数据是完整无缺的。
优选的,所述激励机制步骤包括:
用户U发送加密-签名的注册信息CUid=Encb(Sigsk(Uid,X,Aid))给系统中的密钥生成中心PKG;密钥生成中心PKG利用自己的加密私钥b和用户U的身份签名私钥sk来获得三元组身份信息(Uid,X,Aid);
密钥生成中心PKG根据系统的主私钥α、系统的主公钥Ppub、用户U发过来的匿名身份Aid以及匿名身份Aid的有效期Time,并从
Figure GDA0002970397950000081
中恢复出用户U的真实身份UidP,并比较
Figure GDA0002970397950000082
是否相等,其中UidP的下标P表示密钥生成中心PKG在相同的参数下溯源出来的用户的真实身份,若比较结果相等,则输出1;否则输出0;
密钥生成中心PKG通过安全信道将最终的比较结果0/1传送给司法机关;司法机关根据真实身份比较结果0/1来判断该匿名用户U是否为相关证据数据的真实上传者;其中,1表明该用户U是相关证据数据真正的上传者;0表明该用户U是一个冒领者或假用户。
本发明的有益效果是:
(1)本发明通过与改进的椭圆曲线签名算法相结合,将区块链核心技术整合到云存储数据公共审计模型中来抵抗腐败的云服务器,不仅大大地提高外包数据完整性验证过程的安全性,而且不以牺牲公共审计者TPA的性能开销为代价;
(2)本发明方法在基于身份密码机制上设计出了一个轻量级的条件身份匿名算法,该算法不仅能确保用户身份隐私,而且在必要时,系统中的完全可信任实体-密码生成中心PKG的可以协助司法机关追踪、揭示和问责恶意的用户提交垃圾信息或出现诽谤他人的事件;此外,条件身份匿名技术的提出又促进了激励机制的改进和完善;
(3)本发明方法使用安全高效的盲化加密技术来确保用户数据的机密性,同时,还设计了具有同态消息认证码功能来有效地抵制中间人攻击,即使攻击者拦截了公共审计者TPA与云服务器在进行挑战-验证过程的所有交互信息,但是其也无法推导出数据的具体信息,更不能篡改响应聚合信息来诬陷诚实的云服务器;
(4)本发明方法在系统性能方面是非常高效的,其非常适合部署在实际环境中;特别地,在数据块的数字签名计算成本、用户的数据上传通信开销、数据的完整性验证过程的计算成本和通信开销等都是较低的;因为整个方案是基于身份密码机制,其完全地解决了公钥基础设施(PKI)的证书管理负担,由于数据的签名过程使用的是改进的椭圆曲线签名算法,其不需要执行庞大开销的密码操作,如双线性对运算和模子数运算。
附图说明
图1为本发明的一种实施例的流程框图。
具体实施方式
下面将结合实施例,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1,本发明提供一种具有激励机制的条件身份匿名隐私保护公共审计方法:
如图1所示,一种具有激励机制的条件身份匿名隐私保护公共审计方法,包括:
S1.系统初始化步骤:生成系统的主私钥和主公钥,以及密钥生成中心的私钥和公钥;生成一个密钥集合,并选择一个密钥子集合发送给用户和公共审计者;定义若干安全散列函数,并选择签名-验证算法对和非对称加减密算法对。
具体的,所述系统初始化步骤包括:
S11.系统随机地选择两个大素数p和q来定义剩余类环
Figure GDA0002970397950000091
上的椭圆曲线Ε;定义P是椭圆曲线Ε上的一个点,且P也是阶为q的加法循环群G=<P>上的一个生成元;密钥生成中心PKG从剩余类环
Figure GDA0002970397950000092
中随机选择的一个整数α来作为系统的主私钥,并计算Ppub=αP作为系统的主公钥。
S12.系统设置一个伪随机函数Prf:
Figure GDA0002970397950000093
其中,SKPrf是关于伪随机函数Prf的一个密钥集合,{0,1}*为二进制比特串,κ为一组序列数;系统从密钥集合SKPrf中选择一个密钥子集合skPrf,并通过安全信道将密钥子集合skPrf发送给用户U和公共审计者TPA。
S13.系统分别定义四个安全的安全散列函数:h1:{0,1}*←G×G×{0,1}*,h2:
Figure GDA0002970397950000094
h3:
Figure GDA0002970397950000095
Η:{0,1}l←{0,1}*其中,Η是以太坊区块链的安全散列函数SHA3,{0,1}l是满足安全散列函数SHA3的二进制比特串。
S14.系统选择一个安全的签名-验证算法对(Sig,Ver)和一个安全的非对称加减密算法对(Enc,Dec);密钥生成中心PKG选择一个安全的公私钥对(a,b),其中b=aP,b是密钥生成中心PKG的公钥(b实质是椭圆曲线上一个离散的点,又称倍点值),a是密钥生成中心PKG的私钥,a是密钥生成中心PKG从剩余类环中随机选择的一个整数。
S2.匿名身份和系统签名私钥生成步骤:用户发送加密-签名的注册信息给密钥生成中心;密钥生成中心对加密-签名注册信息进行解密,并验证用户的真实性和有效性,若验证成功,则恢复出用户的注册信息;密钥生成中心根据用户的注册信息计算用户的匿名身份,然后对匿名身份进行加密和签名生成加密-签名的匿名身份,并将加密-签名的匿名身份发送给用户;用户对加密-签名的匿名身份进行解密,并验证其有效性,若验证成功则恢复出用户的匿名身份、系统签名私钥和签名倍点值;用户对系统签名私钥进行验证,若验证成功则接收该系统签名私钥,否则拒绝接收该系统签名私钥,并要求密钥生成中心重新生成相应的系统签名私钥。
具体的,所述匿名身份和系统签名私钥生成步骤包括:
S21.为每个用户U设置一个唯一的用户真实身份Uid∈{0,1}*,用户U从剩余类环
Figure GDA0002970397950000101
中随机选择一个整数τ,并计算身份倍点值X=τP,身份倍点值X表示一个椭圆曲线上的离散点;用户U发送加密-签名的注册信息CUid=Encb(Sigsk(Uid,X))给密钥生成中心PKG,其中,(sk,pk)是用户U随机挑选的身份签名公私钥对。
类似于密钥生成中心PKG的公私密钥对的挑选(生成)一样,sk是用户U从剩余类环
Figure GDA0002970397950000102
中随机挑选的一个整数,并作为用户U的私钥;以及计算pk=sk×P作为用户U的公钥。
加密-签名的注册信息CUid=Encb(Sigsk(Uid,X))的计算过程为:伴随着用户U的私钥sk,用户U首先调用签名算法Sig来对注册信息(Uid,X)进行数字签名,得到注册签名信息Sigsk(Uid,X);之后,用户U调用加密算法Enc来对二元组签名信息Sigsk(Uid,X)进行加密,最终得到加密-签名注册信息CUid=Encb(Sigsk(Uid,X)),其中,b为密钥生成中心PKG的公钥,Sigsk中的Sig代表一个签名算法,在这里,其签名密钥是用户U的身份签名私钥sk;Encb中的Enc代表一个加密算法,在这里,其加密密钥是密钥生成中心PKG的公钥b。
S22.密钥生成中心PKG接收到用户U发送过来的加密-签名注册信息CUid后,使用密钥生成中心PKG的私钥a对加密-签名的注册信息CUid进行解密。
S23.密钥生成中心PKG利用身份签名公钥pk验证用户U的真实性和有效性:若验证失败,则密钥生成中心PKG拒绝用户U的系统注册;若验证成功,则密钥生成中心PKG从加密-签名的注册信息CUid恢复出用户U的注册信息(Uid,X)。
S24.密钥生成中心PKG计算用户U的真实身份Uid对应的匿名身份
Figure GDA0002970397950000111
其中,Time是匿名身份Aid的有效期。
S25.密钥生成中心PKG基于用户U的匿名身份Aid而从剩余类环
Figure GDA0002970397950000112
中随机选择一个整数r,并计算系统签名私钥SkAid=r+αh2(Aid,R),其中R=rP;密钥生成中心PKG发送加密-签名的匿名身份CAid=Encpk(Siga(Aid,SkAid,R))给用户U,其中,R是签名倍点值,签名倍点值R代表一个椭圆曲线上的离散点。
加密-签名的匿名身份的计算过程为:伴随着密钥生成中心PKG的私钥a,密钥生成中心PKG首先调用签名算法Sig来对用户U的匿名身份Aid、系统签名私钥SkAid和签名倍点值R进行数字签名,从而得到匿名身份的签名信息Siga(Aid,SkAid,R);之后,密钥生成中心PKG调用加密算法Enc来对匿名身份的签名信息Siga(Aid,SkAid,R)进行加密而得到加密-签名的匿名身份CAid=Encpk(Siga(Aid,SkAid,R)),其中,pk为用户的身份签名公钥,Siga中的Sig代表一个签名算法,其签名密钥是密钥生成中心PKG的私钥a;Encpk中的Enc代表一个加密算法,在这里,其加密密钥是用户的身份签名公钥pk。
S26.用户U接收到加密-签名的匿名身份CAid后,利用身份签名私钥sk对加密-签名的匿名身份CAid进行解密。
S27.用户U利用密钥生成中心PKG的签名公钥b验证加密-签名的匿名身份CAid的有效性:若验证失败,则用户U拒绝接收该加密-签名的匿名身份CAid;若验证成功,则用户从该加密-签名的匿名身份CAid中恢复出匿名身份Aid、系统签名私钥SkAid和签名倍点值R;用户U通过方程SkAidP=R+Ppubh2(Aid,R)对系统签名私钥SkAid进行验证:若方程输出结果为1,则用户U接收该系统签名私钥SkAid,否则,用户U拒绝接收该系统签名私钥SkAid,并要求密钥生成中心PKG重新生成相应的系统签名私钥SkAid
S3.数字签名产生和加密数据的外包步骤:用户将举报数据文件分割成相同大小的数据块,计算文件标识符的标签值,并计算基于数据块的数字签名,并对每一个数据块进行加密盲化;用户计算数字签名的聚合信息和元数据集,并根据基于区块链的默克尔哈希树结构、盲化后的数据块和元数据集计算第一根哈希值,用户上传第一存储信息到区块链上进行存储,用户上传第二存储信息到云服务器上进行存储,所述第一存储信息包括文件标识符的标签值、文件标识符、盲化后的数据块和元数据集,所述第二存储信息包括文件标识符的标签值、文件标识符、盲化后的举报数据文件、数字签名的聚合信息和第一根哈希值;区块链验证文件标识符的标签值是否有效,若验证有效,则计算每个元数据的元数据查询标签值,并将元数据和元数据查询标签值上链到区块链的数据库,并将其同步到整个区块链上;将第一组合信息发送给云服务器,第一组合信息包括元数据查询标签值和第二根哈希值,第二根哈希值是区块链根据盲化的数据块对应的元数据来生成的根哈希值;云服务器验证第一根哈希值和第二根哈希值是否相等,若相等则存储第二组合信息,所述第二组合信息包括第三存储信息和元数据查询标签值。
具体的,所述数字签名产生和加密数据的外包步骤包括:
S31.用户U将举报数据文件M分割成相同大小的数据块
Figure GDA0002970397950000121
其中i∈[1,n];用户U计算文件标识符Fname的标签值Tag=Fname||n||Sigsk(Fname||n);用户U从剩余类环
Figure GDA0002970397950000122
中选择一个随机整数μ,并计算元数据的第一部分
Figure GDA0002970397950000123
和元数据的第二部分Wi=xi mod q,其中xi是椭圆曲线上点-元数据的第一部分
Figure GDA0002970397950000124
的横坐标,yi是椭圆曲线上点-元数据的第一部分
Figure GDA0002970397950000125
的纵坐标,并计算基于数据块mi的数字签名δi=(μiWi+SkAidmi)mod q,其中i∈[1,n]。
S32.用户U利用具有密钥子集合skPrf的伪随机函数Prf生成n个盲化因子
Figure GDA0002970397950000126
用户对每一个数据块mi进行
Figure GDA0002970397950000127
的加密盲化,其中i∈[1,n],
Figure GDA0002970397950000128
Figure GDA0002970397950000129
的逆元,举报数据文件M={m1,…,mi,…mn}被盲化为
Figure GDA00029703979500001210
Figure GDA00029703979500001211
是被盲化加密的举报数据文件,它是所有盲化加密的数据块
Figure GDA0002970397950000131
的组合形式,其中i∈[1,n]。
S33.用户U计算数字签名δi的聚合信息ψ={δi}i∈[1,n]和元数据集
Figure GDA0002970397950000132
用户U根据基于区块链的默克尔哈希树结构MHT、被盲化的数据块
Figure GDA0002970397950000133
和元数据集
Figure GDA0002970397950000134
计算得到第一根哈希值Η(Λ)U,其中第一根哈希值Η(Λ)U的下标U表明是由用户U生成的;用户U上传第一存储信息
Figure GDA0002970397950000135
到区块链上进行存储,用户U上传第二存储信息{Tag,Fname,M*,ψ,Η(Λ)U}到云服务器上进行存储。
S34.区块链接收到第一存储信息
Figure GDA0002970397950000136
后,利用用户公钥pk来验证Tag=Fname||n||Sigsk(Fname||n)是否有效:如果验证无效,区块链拒绝存储该第一存储信息
Figure GDA0002970397950000137
若验证有效,区块链根据每个盲化数据块
Figure GDA0002970397950000138
所对应的元数据
Figure GDA0002970397950000139
来计算元数据查询标签值
Figure GDA00029703979500001310
并将元数据
Figure GDA00029703979500001311
及对应的元数据查询标签值上传到区块链的数据库LevelDB,并同步到整个区块链上;区块链通过安全信道将第一组合信息
Figure GDA00029703979500001312
发送给云服务器,其中第二根哈希值Η(Λ)B是区块链根据盲化的数据块
Figure GDA00029703979500001313
对应的元数据
Figure GDA00029703979500001314
来生成的根哈希值,第二根哈希值Η(Λ)B的下标B表明是由区块链生成的。按照协议,其实第一根哈希值Η(Λ)U和第二根哈希值Η(Λ)B是同样的方法和元素计算而成,是同一个值,但是由不同实体-用户或区块链计算而得。
S35.云服务器接收到
Figure GDA00029703979500001315
后,验证
Figure GDA00029703979500001316
是否相等:如果相等,云服务器存储第二组合信息
Figure GDA00029703979500001317
如果不相等,云服务器拒绝存储第二组合信息
Figure GDA00029703979500001318
S4.挑战信息生成步骤:公共审计者从所有的数据块的集合中以相同的概率随机选择一个数据块子集,并为数据块子集中每一个元素选择一个随机整数,并根据该随机整数据生成挑战信息,并将挑战信息发送给云服务器。
具体的,所述挑战信息生成步骤包括:
S41.公共审计者TPA从所有的数据块集合[1,n]中以相同的概率γ随机地挑选一个含有θ个元素的数据块子集
Figure GDA00029703979500001319
其中,j≤i=[1,n]。
S42.公共审计者TPA为每一个
Figure GDA0002970397950000141
元素选择一个随机整数
Figure GDA0002970397950000142
公共审计者TPA将挑战信息
Figure GDA0002970397950000143
发送给云服务器,
Figure GDA0002970397950000144
表示公共审计者同概率地随机挑战的数据块所对应的位置标号(例如数据块的总数是10,随机均匀挑选的3个结果可能是3,7,9,而就是表示要挑战的远程数据块的位置标号),其中下标j就是对应的加密数据块
Figure GDA0002970397950000145
的i,其中j=i∈[1,n]。
S5.响应证明信息生成步骤:云服务器接收到公共审计者发送过来的挑战信息后,查询被挑战到的数据块、元数据查询标签集合和文件标识符的第一根哈希值;云服务器计算验证倍点值、数据块的聚合信息和具有同态消息认证码功能的聚合签名信息,然后生成基于挑战信息的响应证明信息,并将响应证明信息返回给公共审计者。
具体的,所述响应证明信息生成步骤包括:
S51.云服务器接收到公共审计者TPA发送过来的挑战信息
Figure GDA0002970397950000146
后,根据文件标识符Fname和下标定位符j查询被挑战到的数据块mj、元数据查询标签集合
Figure GDA0002970397950000147
和文件标识符Fname的第一根哈希值Η(Λ)U
S52.云服务器选择一个随机整数
Figure GDA0002970397950000148
并计算验证倍点值T=t-1P、数据块的聚合信息
Figure GDA0002970397950000149
和具有同态消息认证码功能的聚合签名信息
Figure GDA00029703979500001410
云服务器将基于挑战信息
Figure GDA00029703979500001411
的响应证明信息proof={key,Η(Λ)U,T,ζ,ξ}返回给公共审计者TPA。验证倍点值T表示一个椭圆曲线上的一个离散点,计算过程为,首先选择一个随机整数
Figure GDA00029703979500001412
然后计算该随机整数t的逆元t-1,然后再与椭圆曲线上的生成元P进行倍点计算T=t-1P而得到该倍点值。
S6.数据审计验证步骤:公共审计者接收到响应证明信息后,根据元数据查询集合向区块链检索对应的元数据和隶属于文件标识符的第二根哈希值;公共审计者比较第一根哈希值和第二根哈希值是否相等,若不相等则终端审计进程并向用户发送数据块已被丢失或篡改的审计结果;若相等,则公共审计者检查存储在云服务器上的数据是否完整。
具体的,所述数据审计验证步骤包括:
S62.公共审计者TPA接收到云服务器发送过来的响应证明信息proof={key,T,ζ,ξ}后,根据元数据查询集合
Figure GDA00029703979500001413
向区块链检索对应的元数据
Figure GDA00029703979500001414
和隶属于文件标识符Fname的第二根哈希值Η(Λ)B
S62.公共审计者TPA比较
Figure GDA0002970397950000151
是否相等:若不相等,则公共审计者TPA中断所有的审计进程,并向该用户U发送审计结果0,其中,0表示存储在云服务器上的数据块已被丢失或篡改;若相等,则公共审计者TPA根据伪随机函数Prf的密钥skPrf计算伪随机值
Figure GDA0002970397950000152
和中间变量值
Figure GDA0002970397950000153
其中j∈[1,θ]。
Figure GDA0002970397950000154
是为公共审计者TPA用于审计验证方程的中间变量值
Figure GDA0002970397950000155
而事先由伴随着一个密钥skPrf的伪随机函数Prf对文件标识符Fname和被公共审计者者TPA所挑战到的数据块的具体位置或顺序值j进行生成一个伪随机值
Figure GDA0002970397950000156
Figure GDA0002970397950000157
是公共审计者TPA为审计验证方程事先计算的中间变量值。
S63.公共审计者TPA计算元数据聚合信息
Figure GDA0002970397950000158
其中j∈[1,θ];公共审计者TPA通过如下审计验证方程来检查存储在云服务器上的数据是否完整;
ξP=W+(ζ-η)(R+Ppubh2(Aid,R))+Th3(ζ,Tag)
如果验证方程成立,公共审计者TPA输出本次审计结果为1;如果验证方程不成立,公共审计者TPA输出本次审计结果为0,其中,1表示在该时间节点Timestamp之前,用户存储U在云服务器上数据是完整无缺的。
S7.激励机制步骤:用户发送加密-签名的注册信息给密钥生成中心,密钥生成中心恢复出用户的真实身份,并比较密钥生成中心恢复出的用户真实身份与原来用户的真实身份是否相等,若相等则表示用户为证据数据的真实上传者,若不相等则表示用户为冒领者或假用户。
一个勇敢的匿名用户U在某一次诉讼犯罪事件中向相关司法机关提供了宝贵的犯罪证据材料。当整个案件完结后,司法机关应当在精神和物质上给予该匿名用户U提供相应的奖励。因此,当司法机关打算向匿名用户U支付相应的奖励时,匿名用户U必须在不泄露自己任何敏感的真实身份信息的同时,还能表明自己是数据的真实提供者。
具体的,所述激励机制步骤包括:
用户U发送加密-签名的注册信息CUid=Encb(Sigsk(Uid,X,Aid))给系统中的密钥生成中心PKG;密钥生成中心PKG利用自己的加密私钥b和用户U的身份签名私钥sk来获得三元组身份信息(Uid,X,Aid);
密钥生成中心PKG根据系统的主私钥α、系统的主公钥Ppub、用户U发过来的匿名身份Aid以及匿名身份Aid的有效期Time,并从
Figure GDA0002970397950000161
中恢复出用户U的真实身份UidP,并比较
Figure GDA0002970397950000162
是否相等,其中UidP的下标P表示密钥生成中心PKG在相同的参数下溯源出来的用户的真实身份,若比较结果相等,则输出1;否则输出0;
密钥生成中心PKG通过安全信道将最终的比较结果0/1传送给司法机关;司法机关根据真实身份比较结果0/1来判断该匿名用户U是否为相关证据数据的真实上传者;其中,1表明该用户U是相关证据数据真正的上传者;0表明该用户U是一个冒领者或假用户。
基于匿名的系统签名私钥的正确性证明如下:
SkAidP=(r+αh2(Aid,R))P
=R+Ppubh2(Aid,R)。
公共审计者TPA验证用户存储在云服务器上的外包数据完整性的正确性证明如下:
Figure GDA0002970397950000163
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (8)

1.一种具有激励机制的条件身份匿名隐私保护公共审计方法,其特征在于,包括:
系统初始化步骤:生成系统的主私钥和主公钥,以及密钥生成中心的私钥和公钥;生成一个密钥集合,并选择一个密钥子集合发送给用户和公共审计者;定义若干安全散列函数,并选择签名-验证算法对和非对称加解 密算法对;
匿名身份和系统签名私钥生成步骤:用户发送加密-签名的注册信息给密钥生成中心;密钥生成中心对加密-签名注册信息进行解密,并验证用户的真实性和有效性,若验证成功,则恢复出用户的注册信息;密钥生成中心根据用户的注册信息计算用户的匿名身份,然后对匿名身份进行加密和签名生成加密-签名的匿名身份,并将加密-签名的匿名身份发送给用户;用户对加密-签名的匿名身份进行解密,并验证其有效性,若验证成功则恢复出用户的匿名身份、系统签名私钥和签名倍点值;用户对系统签名私钥进行验证,若验证成功则接收该系统签名私钥,否则拒绝接收该系统签名私钥,并要求密钥生成中心重新生成相应的系统签名私钥;
数字签名产生和加密数据的外包步骤:用户将举报数据文件分割成相同大小的数据块,计算文件标识符的标签值,并计算基于数据块的数字签名,并对每一个数据块进行加密盲化;用户计算数字签名的聚合信息和元数据集,并根据基于区块链的默克尔哈希树结构、盲化后的数据块和元数据集计算第一根哈希值,用户上传第一存储信息到区块链上进行存储,用户上传第二存储信息到云服务器上进行存储,所述第一存储信息包括文件标识符的标签值、文件标识符、盲化后的数据块和元数据集,所述第二存储信息包括文件标识符的标签值、文件标识符、盲化后的举报数据文件、数字签名的聚合信息和第一根哈希值;区块链验证文件标识符的标签值是否有效,若验证有效,则计算每个元数据的元数据查询标签值,并将元数据和元数据查询标签值上链到区块链的数据库,并将其同步到整个区块链上;将第一组合信息发送给云服务器,第一组合信息包括元数据查询标签值和第二根哈希值,第二根哈希值是区块链根据盲化的数据块对应的元数据来生成的根哈希值;云服务器验证第一根哈希值和第二根哈希值是否相等,若相等则存储第二组合信息,所述第二组合信息包括第三存储信息和元数据查询标签值;
挑战信息生成步骤:公共审计者从所有的数据块的集合中以相同的概率随机选择一个数据块子集,并为数据块子集中每一个元素选择一个随机整数,并根据该随机整数据生成挑战信息,并将挑战信息发送给云服务器;
响应证明信息生成步骤:云服务器接收到公共审计者发送过来的挑战信息后,查询被挑战到的数据块、元数据查询标签集合和文件标识符的第一根哈希值;云服务器计算验证倍点值、数据块的聚合信息和具有同态消息认证码功能的聚合签名信息,然后生成基于挑战信息的响应证明信息,并将响应证明信息返回给公共审计者;
数据审计验证步骤:公共审计者接收到响应证明信息后,根据元数据查询集合向区块链检索对应的元数据和隶属于文件标识符的第二根哈希值;公共审计者比较第一根哈希值和第二根哈希值是否相等,若不相等则终端审计进程并向用户发送数据块已被丢失或篡改的审计结果;若相等,则公共审计者检查存储在云服务器上的数据是否完整;
激励机制步骤:用户发送加密-签名的注册信息给密钥生成中心,密钥生成中心恢复出用户的真实身份,并比较密钥生成中心恢复出的用户真实身份与原来用户的真实身份是否相等,若相等则表示用户为证据数据的真实上传者,若不相等则表示用户为冒领者或假用户。
2.根据权利要求1所述的一种具有激励机制的条件身份匿名隐私保护公共审计方法,其特征在于,所述系统初始化步骤包括:
系统随机地选择两个大素数p和q来定义剩余类环
Figure FDA0002888095550000021
上的椭圆曲线Ε;定义Ρ是椭圆曲线Ε上的一个点,且Ρ也是阶为q的加法循环群G=<Ρ>上的一个生成元;密钥生成中心PKG从剩余类环
Figure FDA0002888095550000022
中随机选择的一个整数α来作为系统的主私钥,并计算Ppub=αΡ作为系统的主公钥;
系统设置一个伪随机函数
Figure FDA0002888095550000023
其中,SKPrf是关于伪随机函数Prf的一个密钥集合,{0,1}*为二进制比特串,κ为一组序列数;系统从密钥集合SKPrf中选择一个密钥子集合skPrf,并通过安全信道将密钥子集合skPrf发送给用户U和公共审计者TPA;
系统分别定义四个安全的安全散列函数:h1:{0,1}*←G×G×{0,1}*
Figure FDA0002888095550000024
Η:{0,1}l←{0,1}*其中,Η是以太坊区块链的安全散列函数SHA3,{0,1}l是满足安全散列函数SHA3的二进制比特串;
系统选择一个安全的签名-验证算法对(Sig,Ver)和一个安全的非对称加解 密算法对(Enc,Dec);密钥生成中心PKG选择一个安全的公私钥对(a,b),其中b=aΡ,b是密钥生成中心PKG的公钥,a是密钥生成中心PKG的私钥,a是密钥生成中心PKG从剩余类环中随机选择的一个整数。
3.根据权利要求2所述的一种具有激励机制的条件身份匿名隐私保护公共审计方法,其特征在于,所述匿名身份和系统签名私钥生成步骤包括:
为每个用户U设置一个唯一的用户真实身份Uid∈{0,1}*,用户U从剩余类环
Figure FDA0002888095550000031
中随机选择一个整数τ,并计算身份倍点值X=τΡ;用户U发送加密-签名的注册信息CUid=Encb(Sigsk(Uid,X))给密钥生成中心PKG,其中,(sk,pk)是用户U随机挑选的身份签名公私钥对;
密钥生成中心PKG接收到用户U发送过来的加密-签名注册信息CUid后,使用密钥生成中心PKG的私钥a对加密-签名的注册信息CUid进行解密;
密钥生成中心PKG利用身份签名公钥pk验证用户U的真实性和有效性:若验证失败,则密钥生成中心PKG拒绝用户U的系统注册;若验证成功,则密钥生成中心PKG从加密-签名的注册信息CUid恢复出用户U的注册信息(Uid,X);
密钥生成中心PKG计算用户U的真实身份Uid对应的匿名身份
Figure FDA0002888095550000032
其中,Time是匿名身份Aid的有效期;
密钥生成中心PKG基于用户U的匿名身份Aid而从剩余类环
Figure FDA0002888095550000033
中随机选择一个整数r,并计算系统签名私钥SkAid=r+αh2(Aid,R),其中R=rΡ;密钥生成中心PKG发送加密-签名的匿名身份CAid=Encpk(Siga(Aid,SkAid,R))给用户U,其中,R是签名倍点值;
用户U接收到加密-签名的匿名身份CAid后,利用身份签名私钥sk对加密-签名的匿名身份CAid进行解密;
用户U利用密钥生成中心PKG的签名公钥b验证加密-签名的匿名身份CAid的有效性:若验证失败,则用户U拒绝接收该加密-签名的匿名身份CAid;若验证成功,则用户从该加密-签名的匿名身份CAid中恢复出匿名身份Aid、系统签名私钥SkAid和签名倍点值R;用户U通过方程SkAidΡ=R+Ppubh2(Aid,R)对系统签名私钥SkAid进行验证:若方程输出结果为1,则用户U接收该系统签名私钥SkAid,否则,用户U拒绝接收该系统签名私钥SkAid,并要求密钥生成中心PKG重新生成相应的系统签名私钥SkAid
4.根据权利要求3所述的一种具有激励机制的条件身份匿名隐私保护公共审计方法,其特征在于,所述数字签名产生和加密数据的外包步骤包括:
用户U将举报数据文件M分割成相同大小的数据块
Figure FDA0002888095550000041
其中i∈[1,n];用户U计算文件标识符Fname的标签值Tag=Fname||n||Sigsk(Fname||n);用户U从剩余类环
Figure FDA0002888095550000042
中选择一个随机整数μ,并计算元数据的第一部分
Figure FDA00028880955500000416
和元数据的第二部分Wi=xi mod q,其中xi是椭圆曲线上点-元数据的第一部分
Figure FDA00028880955500000417
的横坐标,yi是椭圆曲线上点-元数据的第一部分
Figure FDA00028880955500000418
的纵坐标,并计算基于数据块mi的数字签名δi=(μiWi+SkAidmi)mod q,其中i∈[1,n];
用户U利用具有密钥子集合skPrf的伪随机函数Prf生成n个盲化因子
Figure FDA0002888095550000043
用户对每一个数据块mi进行
Figure FDA0002888095550000044
的加密盲化,其中i∈[1,n],
Figure FDA0002888095550000045
Figure FDA0002888095550000046
的逆元,举报数据文件M={m1,…,mi,…mn}被盲化为
Figure FDA0002888095550000047
用户U计算数字签名δi的聚合信息ψ={δi}i∈[1,n]和元数据集
Figure FDA00028880955500000423
用户U根据基于区块链的默克尔哈希树结构MHT、被盲化的数据块
Figure FDA0002888095550000048
和元数据集
Figure FDA00028880955500000419
计算得到第一根哈希值Η(Λ)U,其中第一根哈希值Η(Λ)U的下标U表明是由用户U生成的;用户U上传第一存储信息
Figure FDA0002888095550000049
到区块链上进行存储,用户U上传第二存储信息{Tag,Fname,M*,ψ,Η(Λ)U}到云服务器上进行存储;
区块链接收到第一存储信息
Figure FDA00028880955500000410
后,利用用户公钥pk来验证Tag=Fname||n||Sigsk(Fname||n)是否有效:如果验证无效,区块链拒绝存储该第一存储信息
Figure FDA00028880955500000411
若验证有效,区块链根据每个盲化数据块
Figure FDA00028880955500000412
所对应的元数据
Figure FDA00028880955500000420
来计算元数据查询标签值
Figure FDA00028880955500000413
并将元数据
Figure FDA00028880955500000421
及对应的元数据查询标签值上传到区块链的数据库LevelDB,并同步到整个区块链上;区块链通过安全信道将第一组合信息
Figure FDA00028880955500000414
发送给云服务器,其中第二根哈希值Η(Λ)B是区块链根据盲化的数据块
Figure FDA00028880955500000415
对应的元数据
Figure FDA00028880955500000422
来生成的根哈希值,第二根哈希值Η(Λ)B的下标B表明是由区块链生成的;
云服务器接收到
Figure FDA0002888095550000051
后,验证
Figure FDA0002888095550000052
是否相等:如果相等,云服务器存储第二组合信息
Figure FDA0002888095550000053
如果不相等,云服务器拒绝存储第二组合信息
Figure FDA0002888095550000054
5.根据权利要求4所述的一种具有激励机制的条件身份匿名隐私保护公共审计方法,其特征在于,所述挑战信息生成步骤包括:
公共审计者TPA从所有的数据块集合[1,n]中以相同的概率Υ随机地挑选一个含有θ个元素的数据块子集
Figure FDA00028880955500000514
其中,j≤i=[1,n];
公共审计者TPA为每一个
Figure FDA00028880955500000515
元素选择一个随机整数
Figure FDA0002888095550000055
公共审计者TPA将挑战信息
Figure FDA0002888095550000056
发送给云服务器,
Figure FDA00028880955500000516
表示公共审计者同概率地随机挑战的数据块所对应的位置标号。
6.根据权利要求5所述的一种具有激励机制的条件身份匿名隐私保护公共审计方法,其特征在于,所述响应证明信息生成步骤包括:
云服务器接收到公共审计者TPA发送过来的挑战信息
Figure FDA0002888095550000057
后,根据文件标识符Fname和下标定位符j查询被挑战到的数据块mj、元数据查询标签集合
Figure FDA0002888095550000058
和文件标识符Fname的第一根哈希值Η(Λ)U
云服务器选择一个随机整数
Figure FDA0002888095550000059
并计算验证倍点值T=t-1Ρ、数据块的聚合信息
Figure FDA00028880955500000510
和具有同态消息认证码功能的聚合签名信息
Figure FDA00028880955500000511
云服务器将基于挑战信息
Figure FDA00028880955500000512
的响应证明信息proof={key,Η(Λ)U,T,ζ,ξ}返回给公共审计者TPA。
7.根据权利要求6所述的一种具有激励机制的条件身份匿名隐私保护公共审计方法,其特征在于,所述数据审计验证步骤包括:
公共审计者TPA接收到云服务器发送过来的响应证明信息proof={key,T,ζ,ξ}后,根据元数据查询集合
Figure FDA00028880955500000513
向区块链检索对应的元数据
Figure FDA00028880955500000517
和隶属于文件标识符Fname的第二根哈希值Η(Λ)B
公共审计者TPA比较
Figure FDA0002888095550000061
是否相等:若不相等,则公共审计者TPA中断所有的审计进程,并向该用户U发送审计结果0,其中,0表示存储在云服务器上的数据块已被丢失或篡改;若相等,则公共审计者TPA根据伪随机函数Prf的密钥skPrf计算伪随机值
Figure FDA0002888095550000062
和中间变量值
Figure FDA0002888095550000063
其中j∈[1,θ];
公共审计者TPA计算元数据聚合信息
Figure FDA0002888095550000064
其中j∈[1,θ];公共审计者TPA通过如下审计验证方程来检查存储在云服务器上的数据是否完整;
ξΡ=W+(ζ-η)(R+Ppubh2(Aid,R))+Th3(ζ,Tag)
如果验证方程成立,公共审计者TPA输出本次审计结果为1;如果验证方程不成立,公共审计者TPA输出本次审计结果为0,其中,1表示在该时间节点Timestamp之前,用户存储U在云服务器上数据是完整无缺的。
8.根据权利要求7所述的一种具有激励机制的条件身份匿名隐私保护公共审计方法,其特征在于,所述激励机制步骤包括:
用户U发送加密-签名的注册信息CUid=Encb(Sigsk(Uid,X,Aid))给系统中的密钥生成中心PKG;密钥生成中心PKG利用自己的加密私钥b和用户U的身份签名私钥sk来获得三元组身份信息(Uid,X,Aid);
密钥生成中心PKG根据系统的主私钥α、系统的主公钥Ppub、用户U发过来的匿名身份Aid以及匿名身份Aid的有效期Time,并从
Figure FDA0002888095550000065
中恢复出用户U的真实身份UidP,并比较
Figure FDA0002888095550000066
是否相等,其中UidP的下标P表示密钥生成中心PKG在相同的参数下溯源出来的用户的真实身份,若比较结果相等,则输出1;否则输出0;
密钥生成中心PKG通过安全信道将最终的比较结果0/1传送给司法机关;司法机关根据真实身份比较结果0/1来判断该匿名用户U是否为相关证据数据的真实上传者;其中,1表明该用户U是相关证据数据真正的上传者;0表明该用户U是一个冒领者或假用户。
CN202110019302.3A 2021-01-07 2021-01-07 一种具有激励机制的条件身份匿名隐私保护公共审计方法 Active CN112866990B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110019302.3A CN112866990B (zh) 2021-01-07 2021-01-07 一种具有激励机制的条件身份匿名隐私保护公共审计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110019302.3A CN112866990B (zh) 2021-01-07 2021-01-07 一种具有激励机制的条件身份匿名隐私保护公共审计方法

Publications (2)

Publication Number Publication Date
CN112866990A CN112866990A (zh) 2021-05-28
CN112866990B true CN112866990B (zh) 2022-02-01

Family

ID=76004965

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110019302.3A Active CN112866990B (zh) 2021-01-07 2021-01-07 一种具有激励机制的条件身份匿名隐私保护公共审计方法

Country Status (1)

Country Link
CN (1) CN112866990B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113609533B (zh) * 2021-08-23 2024-02-27 东北大学秦皇岛分校 一种面向智能电网数据的完整性审计方法
CN114745120B (zh) * 2022-03-17 2023-08-22 郑州大学 一种支持公平支付的抗密钥暴露的云数据完整性校验方法
CN115134132B (zh) * 2022-06-20 2023-05-12 哈尔滨工业大学(深圳) 基于无证书的身份匿名隐私保护医疗数据完整性验证方法
CN115333857B (zh) * 2022-10-11 2023-03-07 晨越建设项目管理集团股份有限公司 基于智慧城市系统云平台数据防篡改的检测方法
CN116028689B (zh) * 2023-03-28 2023-06-06 四川赛尔斯科技有限公司 基于妇幼服务平台的数据管控方法及系统
CN116108497B (zh) * 2023-04-17 2023-06-23 武汉盛博汇信息技术有限公司 一种基于身份匿名的医疗数据轻量级云存储方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110278076A (zh) * 2019-05-29 2019-09-24 电子科技大学 一种基于区块链的透明化数据完整性审计和透明化加密数据去重协议

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10735182B2 (en) * 2016-08-10 2020-08-04 Peer Ledger Inc. Apparatus, system, and methods for a blockchain identity translator

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110278076A (zh) * 2019-05-29 2019-09-24 电子科技大学 一种基于区块链的透明化数据完整性审计和透明化加密数据去重协议

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
数据安全外包存储关键技术研究;张源;《CNKI中国博士学位论文全文数据库信息科技辑》;20200415;全文 *

Also Published As

Publication number Publication date
CN112866990A (zh) 2021-05-28

Similar Documents

Publication Publication Date Title
CN112866990B (zh) 一种具有激励机制的条件身份匿名隐私保护公共审计方法
Fu et al. NPP: A new privacy-aware public auditing scheme for cloud data sharing with group users
US20220101475A1 (en) System for embedding searchable information, encryption, signing operation, transmission, storage and retrieval
Barsoum et al. On verifying dynamic multiple data copies over cloud servers
Holt et al. Logcrypt: forward security and public verification for secure audit logs
US20100005318A1 (en) Process for securing data in a storage unit
JP2001527325A (ja) セキュアな暗号方式キーストレージ、証明および使用のための装置および方法
CN1283827A (zh) 通用电子信息网络认证系统及方法
CN107423637B (zh) 支持云上电子病历数据可追踪的完整性审计方法
Tian et al. Enabling public auditability for operation behaviors in cloud storage
Luo et al. Enabling assured deletion in the cloud storage by overwriting
CN112906056A (zh) 一种基于区块链的云存储密钥安全管理方法
Zhao et al. Blockchain-assisted conditional anonymity privacy-preserving public auditing scheme with reward mechanism
CN112804050A (zh) 多源数据查询系统及方法
Ćosić et al. (Im) proving chain of custody and digital evidence integrity with time stamp
CN110188545B (zh) 一种基于链式数据库的数据加密方法及装置
CN113938281B (zh) 一种量子安全身份的颁发系统、颁发方法及使用方法
Zhang et al. Secdedup: Secure encrypted data deduplication with dynamic ownership updating
Ni et al. Secure outsourced data transfer with integrity verification in cloud storage
CN113014394A (zh) 基于联盟链的电子数据存证方法及系统
CN107395355B (zh) 一种基于隐式可信第三方的云存储数据完整性验证方法
Li et al. Anonymous, secure, traceable, and efficient decentralized digital forensics
CN111539031B (zh) 一种云存储标签隐私保护的数据完整性检测方法及系统
Salim et al. Applying geo-encryption and attribute based encryption to implement secure access control in the cloud
Abraham et al. Proving possession and retrievability within a cloud environment: A comparative survey

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant