CN112118253B - 一种基于区块链的云服务日志匿名系统及匿名方法 - Google Patents

一种基于区块链的云服务日志匿名系统及匿名方法 Download PDF

Info

Publication number
CN112118253B
CN112118253B CN202010973988.5A CN202010973988A CN112118253B CN 112118253 B CN112118253 B CN 112118253B CN 202010973988 A CN202010973988 A CN 202010973988A CN 112118253 B CN112118253 B CN 112118253B
Authority
CN
China
Prior art keywords
cloud service
log
user
blockchain
service provider
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
CN202010973988.5A
Other languages
English (en)
Other versions
CN112118253A (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.)
North China University of Technology
Original Assignee
North China University 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 North China University of Technology filed Critical North China University of Technology
Priority to CN202010973988.5A priority Critical patent/CN112118253B/zh
Publication of CN112118253A publication Critical patent/CN112118253A/zh
Application granted granted Critical
Publication of CN112118253B publication Critical patent/CN112118253B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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
    • 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
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)

Abstract

一种基于区块链的云服务日志匿名系统及匿名方法,该系统包括:区块链日志模块,将经过匿名化处理的云服务日志存储在区块链中;Zokrates模块,用于生成零知识证明;智能合约模块,自动对区块链中存储的云服务日志进行验证,对验证过的日志进行标记,并存储在区块链上;云服务提供商端,按用户的操作指令提供云服务,云服务提供商反馈操作的执行结果以及操作日志给用户,并将此日志和与用户交互产生的附加数据一并存储到日志数据库;用户端,与云服务提供商和区块链系统进行交互,负责密钥对的生成和导入导出、发出云服务请求操作。该系统解决了区块链上日志完整性问题,保证匿名性的同时降低用户隐私泄露风险。

Description

一种基于区块链的云服务日志匿名系统及匿名方法
技术领域
本发明属于云服务安全领域,为保证云服务器日志隐私安全,设计并提出了一种基于区块链的云服务日志匿名系统及匿名方法。
背景技术
近年来,云计算由于在成本和管理等方面显著优于传统计算模式,已吸引了大量企业将计算服务迁移上云。然而,随着云计算的普及,它的缺点也逐渐显露,用户对物理设备没有直接控制权,导致问题发生时责任界定不清晰。此时,服务器的日志将成为分析过错的主要证据,但是日志易遭到恶意篡改,尤其是日志控制权在负有责任的一方,如云服务提供商。因此,保证日志的完整性极为重要。现有方法将日志哈希记录在区块链上,从而利用区块链的不可篡改性来保护日志的完整性。然而,由于区块链的伪匿名性,在区块链上记录日志哈希时,用户的身份可能会暴露,从而导致用户隐私泄露。因此,如何保证云服务日志系统中日志的完整性和用户隐私安全性,成为云服务安全领域密切关注的课题。
发明内容
本发明克服了现有云服务日志系统中存在第三方审计机构篡改日志和用户隐私泄漏问题,提供了一种保护用户隐私安全的基于区块链的云服务日志匿名系统及匿名方法。
本发明的一种基于区块链的云服务日志匿名系统,包括:
区块链日志模块:将经过匿名化处理的云服务日志存储在区块链中;
Zokrates模块:用于生成零知识证明,构造密钥,生成零知识证明代码;
智能合约模块:自动对区块链中存储的云服务日志进行验证,通过零知识证明验证匿名化日志的正确性,对验证过的日志进行标记,并存储在区块链上;
云服务提供商端:按用户的操作指令提供相应的云服务,在完成用户下达的指令后,云服务提供商反馈操作的执行结果以及操作产生的日志给用户,并将此日志和与用户交互产生的附加数据一并存储到日志数据库;
用户端:与云服务提供商和区块链系统进行交互,负责密钥对的生成和导入导出、用户注册、发出云服务请求操作。
本发明还提供一种基于区块链的云服务日志匿名方法,包括:
S1:在云服务提供商按照用户需求为用户提供云服务后,云服务提供商对日志哈希值进行哈希运算处理得到日志哈希值k,并通过Zokrates模块生成零知识证明π、零知识证明的验证密钥vk和零知识证明代码,将k、π、vk存储到区块链上,构建验证合约,将零知识证明代码导出到验证合约,并部署到区块链上用于之后的验证;
S2:调用验证合约通过零知识证明对存储日志进行验证;
S3:对验证过的云服务日志进行标记,并存储在区块链上。
例如,本发明的实施例提供的一种基于区块链的云服务日志匿名方法,其中,步骤S1的具体步骤包括:
S11:用户和云服务提供商分别设置密钥对,其中,设置密钥对方法为:选择一个秘密的随机数作为私钥,对私钥使用带初始向量的哈希算法,将私钥的哈希值作为公钥,用于零知识证明;
S12:用户请求云服务前,首先产生一个随机数作为本次云服务请求操作的标识,并对操作码和随机数进行数字签名,将此签名、云服务操作码、随机数发送给云服务提供商以请求云服务,同时签名可作为用户对操作的不可抵赖证据;
S13:云服务提供商完成用户下达的操作指令后,然后云服务提供商将会返回操作执行的结果和相应日志记录到云服务器,并同时发送给用户;
S14:云服务提供商计算哈希值k,计算公式为:k=H(H(H(PKC,PKU),h),r),其中,PKC是云公钥,PKU是用户公钥,h是日志哈希值,r是随机数,H(x)是哈希函数;
S15:将生成零知识证明所需要的参数PKC、PKU、h、r传递给Zokrates模块;
S16:Zokrates模块利用参数PKC、PKU、h、r构造零知识证明π和其对应的零知识证明的验证密钥vk,其中,构造的零知识证明π如下:(1)知道云公钥PKC对应的云私钥SKC,(2)用户公钥PKC被包括在k的计算中,vk是与π对应的验证密钥,将k、v、vk存储到区块链上;
S17:将零知识证明代码导出到验证合约,并对验证合约添加构造函数和审计方法,形成的最终验证合约部署到以太坊私有链上,最后将合约地址返回给用户,便于用户进行验证操作。
例如,本发明的实施例提供的一种基于区块链的云服务日志匿名方法,其中,步骤S2的具体步骤包括:
S21:用户从本地数据库中取出本次日志记录并计算本次日志记录的哈希值hU,取出之前获得的云服务提供商的公钥,以及用户自己的公钥和生成的随机数r再次计算哈希值,其值记为k_ 1;
S22:从云服务提供商返回的合约地址处提取出根据本次日志记录产生的哈希值,其值记为k_ 2,将双方哈希值进行对比,若k_ 1=k_ 2则认证成功,否则拒绝本次认证;
S23:通过获得的合约地址调用合约,并将随机数r、日志哈希hU以及云服务提供商哈希公钥PKC和用户的哈希公钥PKU作为验证合约验证函数参数输入,验证此用户是PKU的所有者,且云服务提供商向区块链发送了当前需要被审计的记录(证明PKU和PKC之间的服务关系),函数返回布尔值结果,若结果为真则该日志记录了该用户和云服务提供商间的云服务过程,并且用户日志未被篡改,否则日志已被篡改过。
例如,本发明的实施例提供的一种基于区块链的云服务日志匿名方法,其中,步骤S3具体步骤包括:
S31:验证通过后,用户利用自己的RSA公钥产生一个对k的签名,作为对本次记录的认可,发送给云服务提供商,云服务提供商收到此签名后存储在数据库中,作为保证用户不可抵赖的证据;
S32:将通过验证的日志进行编号,记录在区块链日志模块,并将编号反馈给用户,已验证通过的区块不必进行二次验证,通过查询区块中编号记录确认是否验证通过。
例如,本发明的实施例提供的一种基于区块链的云服务日志匿名方法,还包括:
审计阶段,当用户对云服务提供商给出的异常服务的原因有异议时,可以要求云服务提供商提供原始日志,用户发起日志完整性审计,第三方机构通过调取合约的审计函数,对日志认证哈希值等参数进行对比检查,以向第三方证明日志是否曾受到篡改。
与现有技术相比,本发明基于区块链的云服务日志匿名方法及系统具有以下优点:1.采用非交互式简洁零知识证明,证明区块链上日志的完整性同时,保证了匿名性,降低用户隐私泄露的风险;2.在不破坏匿名性的情况下,也实现了审计功能,让用户能够在恶意篡改发生时向第三方证明日志被篡改过;3.使用智能合约实现了日志记录和审计,提高了自动化程度。
该云服务日志匿名方法主要解决了两个问题:1.通过零知识证明,解决了区块链上日志完整性问题,保证匿名性的同时降低用户隐私泄露风险;2.通过设计智能合约,自动实现云服务日志的验证和审计工作。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本发明的一些实施例,而非对本发明的限制。
图1为本发明实施例提供的基于区块链的云服务日志匿名方法流程示意图;
图2为本发明实施例提供的基于区块链的云服务日志匿名系统结构示意图;
图3为本发明实施例提供的结合零知识证明实现的云服务日志匿名方案与ProvChain方案、群签名BPPCF方案的在不同用户规模下的匿名度比较曲线;其中,细实线-表示本系统方案,双点划线
Figure GDA0003947319710000051
表示小规模BPPCF1 方案,细虚线------表示中规模BPPCF2方案,小间距细点划线
Figure GDA0003947319710000052
表示大规模BPPCF3方案,大间距细虚线---表示小规模ProvChain1方案,大间距圆点线·····表示中规模ProvChain2方案,细点划线
Figure GDA0003947319710000053
表示大规模 ProvChain3方案。
图4为本发明实施例提供的结合零知识证明实现的云服务日志匿名方案与ProvChain方案、群签名BPPCF方案已公开记录对未公开记录匿名度的影响变化曲线;其中,细实线-表示本系统方案,双点划线
Figure GDA0003947319710000054
表示小规模 BPPCF1方案,细虚线------表示中规模BPPCF2方案,小间距细点划线
Figure GDA0003947319710000055
表示大规模BPPCF3方案,大间距细虚线---表示小规模ProvChain1方案,大间距圆点线·····表示中规模ProvChain2方案,细点划线
Figure GDA0003947319710000061
表示大规模ProvChain3方案。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例,基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在传统的云日志系统中,引入了第三方审计机构来保证一定的日志完整性。但在这种方案中,第三方审计机构可以看到用户的日志,虽然日志数据库中存储的是用户名的哈希值,但同一个用户名总是对应着同一个哈希,通过大量日志关联,仍然存在用户隐私泄露的风险。此外,完全可信的第三方审计机构是不存在的,在利益的诱惑下审计者可能与云服务商协同作弊,增加虚假日志或修改已有日志。
具有不可篡改性的区块链技术被引入用来解决日志完整性的问题,通过将哈希计算后的日志记录到区块链上,可以有效抵御针对完整性的攻击。但现有基于区块链的日志系统大多使用公有链,没有考虑用户的匿名性,用户和云服务提供商均使用不变的公钥直接在区块链上记录信息,仍然存在用户隐私泄漏问题。
验证匿名化日志正确性成为关键问题。零知识证明常被用于验证问题。零知识证明指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。
本发明的实施例提供的基于区块链的云服务匿名日志系统,使用非交互式简洁零知识证明,在证明区块链上日志的完整性的同时,保证匿名性,降低用户隐私泄露的风险。在不破坏匿名性的情况下,也实现了审计功能,使得用户能在恶意篡改发生时向第三方日志被篡改证明。
如附图1所示,本发明实施例提供的基于区块链的云服务匿名日志方法包括以下步骤:
S1:用户和云服务提供商分别设置密钥对,
其中,设置密钥对方法为:
选择一个秘密的随机数作为私钥,对私钥使用带初始向量的哈希算法,将私钥的哈希值作为公钥,用于零知识证明;
用户请求云服务前,首先产生一个随机数作为本次云服务请求操作的标识,并对操作码和随机数进行数字签名,签名可作为用户对操作的不可抵赖证据;用户发出POST请求,将此签名、云服务操作码、随机数发送给到云端HTTP 的监听端口以请求云服务;
云端服务器接收到请求后开始处理一次请求,服务器从POST请求的data 字段中提取用户要执行的命令,比如注册REGISTER、操作OPERATE和认证 VALIDATE等操作;
云服务提供商完成用户下达的操作指令后,然后云服务提供商将会返回操作执行的结果和相应日志记录到云服务器,并同时发送给用户;
云服务提供商对日志哈希值进行哈希运算处理得到哈希值k,用于之后的认证操作计算公式为:k=H(H(H(PKC,PKU),h),r),其中,PKC是云公钥,PKU是用户公钥,h是日志哈希值,r是随机数,H(x)是哈希函数,并将生成零知识证明所需要的参数PKC、PKU、h、r传递给Zokrates模块,Zokrates模块利用参数PKC、PKU、 h、r构造零知识证明π和其对应的零知识证明的验证密钥vk,其中,构造的零知识证明π如下:(1)知道云公钥PKC对应的云私钥SKC,(2)用户公钥PKC被包括在k的计算中,vk是与π对应的验证密钥,将k、π、vk存储到区块链上;
将零知识证明代码导出到验证合约,并对验证合约添加构造函数和审计方法,形成的最终验证合约部署到以太坊私有链上,最后将合约地址返回给用户,便于用户进行验证操作。
S2:调用验证合约通过零知识证明对存储日志进行验证;
首先,用户从本地数据库中取出本次日志记录并计算本次日志记录的哈希值hU,取出之前获得的云服务提供商的公钥,以及用户自己的公钥和生成的随机数r再次计算k,其值记为k_1;
从云服务提供商返回的合约地址处提取出根据本次日志记录产生的k,其值记为k_2,将双方哈希值进行对比,若k_1=k_2则认证成功,否则拒绝本次认证;
通过获得的合约地址调用合约,并将随机数r、日志哈希hU以及云服务提供商哈希公钥PKC和用户的哈希公钥PKU作为验证合约验证函数参数输入,验证此用户是PKU的所有者,且云服务提供商向区块链发送了当前需要被审计的记录 (证明PKU和PKC之间的服务关系),函数返回布尔值结果,若结果为真则该日志记录了该用户和云服务提供商间的云服务过程,并且用户日志未被篡改,否则日志已被篡改过,通过使用零知识证明,有效证明区块链上日志的完整性同时,保证了匿名性,降低用户隐私泄露的风险。
S3:验证通过后,用户利用自己的RSA公钥产生一个对k的签名,作为对本次记录的认可,发送给云服务提供商,云服务提供商收到此签名后存储在数据库中,作为保证用户不可抵赖的证据;将通过验证的日志进行编号,记录在特定区块,并将编号反馈给用户,已验证通过的区块不必进行二次验证,通过查询区块中编号记录确认是否验证通过,降低系统验证时间开销。
如附图2所示,本发明实施例提供的基于区块链的云服务匿名日志系统包括以下模块:
区块链日志模块:将所有经过匿名化处理的云服务日志存储在区块链中;
Zokrates模块:主要用于生成零知识证明,构造密钥,生成零知识证明代码;
智能合约模块:自动对区块链中存储的云服务日志进行验证,通过零知识证明验证匿名化日志的正确性,对验证过的日志进行标记,并存储在区块链上;
云服务提供商端:按用户的操作指令提供相应的云服务,在完成用户下达的指令后,云服务提供商反馈操作的执行结果以及操作产生的日志给用户,并将此日志和与用户交互产生的附加数据一并存储到日志数据库;
用户端:与云服务提供商和区块链系统进行交互,负责密钥对的生成和导入导出、用户注册、发出云服务请求操作。
如附图3所示,分别比较了ProvChain方案,群签名BPPCF方案,和本发明实施例提供的结合零知识证明实现的云服务日志匿名方案三种方案在三种规模条件下的匿名性表现。其中,CSP数量为单个用户同时使用的不同云服务提供商的服务个数。小规模:用户人数为1000,CSP数量为1;中规模:用户人数为10000,CSP数量为5;大规模:用户数量为100000,CSP数量为10。此外,日志数量为单个用户与他的每个云服务提供商各产生的记录的数量,这三种规模下日志数量范围均设置为5000-10000。横轴表示出于审计需要所公布的记录的比例,纵轴表示整个系统的匿名度。如图3所示,在BPPCF中,匿名度也线性减少,由于同一个用户组中的用户的匿名程度受限于其所在组的大小,其剩余信息总是少于未被公开的记录的总信息。在ProvChain中,系统匿名度并非线性减少,其变化率逐渐降低。在此系统中用户-CSP关系对被公开时损失的信息与其被公开的时机有关。对于同一个用户-CSP对所记录的多个信息,最先被公开的记录会让系统损失这个关系对所包含的所有信息。本系统总匿名度随被公开记录数量增加而线性减小,且剩余信息恰等于未被公开的记录所含的总信息,即剩余记录仍然完全匿名。
如附图4所示,将本方案与ProvChain方案、群签名BPPCF方案中已公开记录对未公开记录匿名度的影响变化曲线。在本系统中,已公开记录不会影响未公开记录匿名度。BPPCF方案未公开记录匿名度在被公开记录增长的情况下基本保持不变,但低于本方案匿名度。ProvChain记录被公开时损失的信息量与被公开时机有关,同一个服务对不同记录之间会相互影响,被公开的记录比例越高,未公开记录匿名度越低。本方案能在不同规模下,都能拥有良好的记录匿名性,能够更好的保护用户隐私。

Claims (4)

1.一种基于区块链的云服务日志匿名系统,包括:
区块链日志模块:将经过匿名化处理的云服务日志存储在区块链中;
Zokrates模块:用于生成零知识证明,构造密钥,生成零知识证明代码,构建验证合约,导入零知识证明代码,并将合约部署到区块链上,具体过程如下:利用参数PKC、PKU、h、r构造零知识证明π和其对应的零知识证明的验证密钥vk,其中,构造的零知识证明π为:(1)知道云公钥PKC对应的云私钥SKC,(2)用户公钥PKC被包括在k的计算中,vk是与π对应的验证密钥,将k、π、vk存储到区块链上;将零知识证明代码导出到验证合约,并对验证合约添加构造函数和审计方法,形成的最终验证合约部署到以太坊私有链上;
智能合约模块:自动对区块链中存储的云服务日志进行验证,通过零知识证明验证匿名化日志的正确性,具体验证过程为:将随机数r、日志哈希hU以及云服务提供商哈希公钥PKC和用户的哈希公钥PKU作为验证合约验证函数参数输入,验证此用户是PKU的所有者,且云服务提供商向区块链发送了当前需要被审计的记录,函数返回布尔值结果,若结果为真则该日志记录了该用户和云服务提供商间的云服务过程,并且用户日志未被篡改,否则日志已被篡改过;对验证过的日志进行标记,并存储在区块链上;
云服务提供商端:按用户的操作指令提供相应的云服务,在完成用户下达的指令后,云服务提供商反馈操作的执行结果以及操作产生的日志给用户,并将此日志和与用户交互产生的附加数据一并存储到日志数据库;计算哈希值k,计算公式为:k=H(H(H(PKC,PKU),h),r),其中,PKC是云公钥,PKU是用户公钥,h是日志哈希值,r是随机数,H(x)是哈希函数;将生成零知识证明所需要的参数PKC、PKU、h、r传递给Zokrates模块;
用户端:与云服务提供商和区块链系统进行交互,负责密钥对的生成和导入导出、用户注册、发出云服务请求操作;产生一个随机数作为云服务请求操作的标识,并对操作码和随机数进行数字签名,将此签名、云服务操作码、随机数发送给云服务提供商以请求云服务,同时签名可作为用户对操作的不可抵赖证据。
2.一种基于区块链的云服务日志匿名方法,包括:
S1:在云服务提供商按照用户需求为用户提供云服务后,云服务提供商对日志哈希值进行哈希运算处理得到日志哈希值k,并通过Zokrates模块生成零知识证明π、零知识证明的验证密钥vk和零知识证明代码,将k、π、vk存储到区块链上,构建验证合约,将零知识证明代码导出到验证合约,并部署到区块链上用于之后的验证,具体过程如下:
S11:用户和云服务提供商分别设置密钥对,其中,设置密钥对方法为:选择一个秘密的随机数作为私钥,对私钥使用带初始向量的哈希算法,将私钥的哈希值作为公钥,用于零知识证明;
S12:用户请求云服务前,首先产生一个随机数作为本次云服务请求操作的标识,并对操作码和随机数进行数字签名,将此签名、云服务操作码、随机数发送给云服务提供商以请求云服务,同时签名可作为用户对操作的不可抵赖证据;
S13:云服务提供商完成用户下达的操作指令后,云服务提供商将会返回操作执行的结果和相应日志记录到云服务器,并同时发送给用户;
S14:云服务提供商计算哈希值k,计算公式为:k=H(H(H(PKC,PKU),h),r),其中,PKC是云公钥,PKU是用户公钥,h是日志哈希值,r是随机数,H(x)是哈希函数;
S15:将生成零知识证明所需要的参数PKC、PKU、h、r传递给Zokrates模块;
S16:Zokrates模块利用参数PKC、PKU、h、r构造零知识证明π和其对应的零知识证明的验证密钥vk,其中,构造的零知识证明π为:(1)知道云公钥PKC对应的云私钥SKC,(2)用户公钥PKC被包括在k的计算中,vk是与π对应的验证密钥,将k、π、vk存储到区块链上;
S17:将零知识证明代码导出到验证合约,并对验证合约添加构造函数和审计方法,形成的最终验证合约部署到以太坊私有链上,最后将合约地址返回给用户,便于用户进行验证操作;
S2:调用验证合约通过零知识证明对存储日志进行验证,具体过程如下:
S21:用户从本地数据库中取出本次日志记录并计算本次日志记录的哈希值hU,取出之前获得的云服务提供商的公钥,以及用户自己的公钥和生成的随机数r再次计算k,其值记为k_1;
S22:从云服务提供商返回的合约地址处提取出根据本次日志记录产生的k,其值记为k_2,将双方哈希值进行对比,若k_1=k_2则认证成功,否则拒绝本次认证;
S23:通过获得的合约地址调用合约,并将随机数r、日志哈希hU以及云服务提供商哈希公钥PKC和用户的哈希公钥PKU作为验证合约验证函数参数输入,验证此用户是PKU的所有者,且云服务提供商向区块链发送了当前需要被审计的记录,函数返回布尔值结果,若结果为真则该日志记录了该用户和云服务提供商间的云服务过程,并且用户日志未被篡改,否则日志已被篡改过;
S3:对验证过的云服务日志进行标记,并存储在区块链上。
3.如权利要求2所述的一种基于区块链的云服务日志匿名方法,其中,步骤S3具体包括:
S31:验证通过后,用户利用自己的RSA公钥产生一个对k的签名,作为对本次记录的认可,发送给云服务提供商,云服务提供商收到此签名后存储在数据库中,作为保证用户不可抵赖的证据;
S32:将通过验证的日志进行编号,记录在特定区块,并将编号反馈给用户,已验证通过的区块不必进行二次验证,通过查询区块中编号记录确认是否验证通过。
4.如权利要求2所述的一种基于区块链的云服务日志匿名方法,还包括:
审计阶段,当用户对云服务提供商给出的异常服务的原因有异议时,要求云服务提供商提供原始日志,用户发起日志完整性审计,第三方机构通过调取合约的审计函数,对日志认证哈希值进行对比检查,以向第三方证明日志是否曾受到篡改。
CN202010973988.5A 2020-09-16 2020-09-16 一种基于区块链的云服务日志匿名系统及匿名方法 Active CN112118253B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010973988.5A CN112118253B (zh) 2020-09-16 2020-09-16 一种基于区块链的云服务日志匿名系统及匿名方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010973988.5A CN112118253B (zh) 2020-09-16 2020-09-16 一种基于区块链的云服务日志匿名系统及匿名方法

Publications (2)

Publication Number Publication Date
CN112118253A CN112118253A (zh) 2020-12-22
CN112118253B true CN112118253B (zh) 2023-04-28

Family

ID=73802263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010973988.5A Active CN112118253B (zh) 2020-09-16 2020-09-16 一种基于区块链的云服务日志匿名系统及匿名方法

Country Status (1)

Country Link
CN (1) CN112118253B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112738106B (zh) * 2020-12-29 2022-06-24 合肥达朴汇联科技有限公司 一种区块链匿名用户审计系统
CN113193960B (zh) * 2021-04-01 2022-11-29 西安电子科技大学 一种可问责的共有云数据所有权迁移与审计方法及系统
CN113254964A (zh) * 2021-06-02 2021-08-13 杭州趣链科技有限公司 日志安全存证方法、装置、电子设备及存储介质
CN113591101A (zh) * 2021-06-22 2021-11-02 全球码链科技合作中心有限公司 三元数据保护方法、装置、设备和计算机可读存储介质
CN114186248B (zh) * 2021-11-13 2022-08-05 云南财经大学 基于区块链智能合约的零知识证明可验证凭证数字身份管理系统及方法
CN114564749B (zh) * 2022-03-04 2022-12-23 厦门熙重电子科技有限公司 一种针对智慧云服务的用户信息保护方法及服务器
CN115988132B (zh) * 2022-12-29 2024-04-09 广州宸祺出行科技有限公司 一种通过换绑发方式提高匿名电话打通率的方法及装置
CN116827821B (zh) * 2023-07-03 2024-04-30 北方工业大学 基于区块链云应用程序性能监控方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108322306A (zh) * 2018-03-17 2018-07-24 北京工业大学 一种基于可信第三方的面向隐私保护的云平台可信日志审计方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5488596B2 (ja) * 2009-05-29 2014-05-14 日本電気株式会社 署名装置、署名検証装置、匿名認証システム、署名方法、署名認証方法およびそれらのプログラム
US11288280B2 (en) * 2018-10-31 2022-03-29 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing consumer data validation, matching, and merging across tenants with optional verification prompts utilizing blockchain
CN109614820A (zh) * 2018-12-06 2019-04-12 山东大学 基于零知识证明的智能合约认证数据隐私保护方法
CN109639420B (zh) * 2019-01-02 2021-05-25 西南石油大学 基于区块链技术的可匿名身份的医疗云存储公共审计方法
CN111428249B (zh) * 2020-01-20 2022-06-28 中国科学院信息工程研究所 一种基于区块链保护用户隐私的匿名注册方法和系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108322306A (zh) * 2018-03-17 2018-07-24 北京工业大学 一种基于可信第三方的面向隐私保护的云平台可信日志审计方法

Also Published As

Publication number Publication date
CN112118253A (zh) 2020-12-22

Similar Documents

Publication Publication Date Title
CN112118253B (zh) 一种基于区块链的云服务日志匿名系统及匿名方法
CN111405011B (zh) 基于区块链的vanet中节点可信加入方法
AU2017272163B2 (en) Verification system and method with extra security for lower-entropy input records
CN101834860B (zh) 一种远程动态验证客户端软件完整性的方法
CN101340282B (zh) 复合公钥的生成方法
CN110941668B (zh) 一种基于区块链的统一身份管理和认证方法
CN110768791B (zh) 一种零知识证明的数据交互方法、节点、设备
CN109687965A (zh) 一种保护网络中用户身份信息的实名认证方法
CN109547193B (zh) 一种基于区块链且抗量子计算机攻击的电子投票方法
US20230163961A1 (en) Public random number generation method and device based on blockchain
CN113302610A (zh) 基于区块链的可信平台
CN114866259A (zh) 一种基于秘密分享的区块链受控可追溯身份隐私方法
Xu et al. Blockchain-based transparency framework for privacy preserving third-party services
CN112564985A (zh) 一种基于区块链的安全运维管理的方法
CN114881469A (zh) 一种面向企业职工的绩效考核和管理系统及其方法
CN112132588B (zh) 基于区块链的数据处理方法、装置、路由设备及存储介质
CN114978677A (zh) 资产访问控制方法、装置、电子设备和计算机可读介质
CN113326527A (zh) 一种基于区块链的可信数字签名系统及方法
CN112989381A (zh) 一种基于区块链防关联的统一异构身份标识方法
CN113491090A (zh) 基于区块链的可信平台
Li et al. Privacy Protection and Secure Transmission of Smart Meter Data
Bajramovic et al. LAVA: Log authentication and verification algorithm
CN114422138B (zh) 一种域名所有者自定义验证策略的证书透明化方法和系统
US11200771B2 (en) Electronic voting system and method
US20240015028A1 (en) Blockchain-based data detection method and apparatus, device, storage medium, and program product

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