CN112989418A - 一种基于身份密码的文件完整性验证方法 - Google Patents
一种基于身份密码的文件完整性验证方法 Download PDFInfo
- Publication number
- CN112989418A CN112989418A CN202110324482.6A CN202110324482A CN112989418A CN 112989418 A CN112989418 A CN 112989418A CN 202110324482 A CN202110324482 A CN 202110324482A CN 112989418 A CN112989418 A CN 112989418A
- Authority
- CN
- China
- Prior art keywords
- file
- verification
- verifier
- parameters
- owner
- 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.)
- Pending
Links
- 238000012795 verification Methods 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 title claims abstract description 16
- 230000004044 response Effects 0.000 claims abstract description 21
- 230000006870 function Effects 0.000 claims description 9
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013496 data integrity verification Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
Description
技术领域
本发明属于通信和密码学技术领域,涉及一种基于身份密码的文件完整性验证方法。
背景技术
由于文件在存储和传输过程中可能被破坏,且为了保证这些数据文件信息未被黑客恶意修改或者未被信息管理人员无意修改或删除,对该数据文件信息进行数据完整性验证是十分必要的。
现有技术在进行数据完整性验证时,通过验证者对验证文件进行分块,并生成元数据,将元数据保存在本地。验证时,验证者将选取好的数据块索引发送给服务器,服务器根据验证者发送的数据进行相应的计算并返回,将返回值与本地的值相对比,若相等,则说明数据完整。现有技术每次验证时都需要取回数据,不仅浪费了大量的存储开销,还可能泄露数据隐私。
发明内容
本发明的目的是针对现有技术的不足,提供一种基于身份密码的文件完整性验证方法。
本发明解决其技术问题所采用的技术方案如下:
步骤1、参数设置:
密钥生成中心KGC收到安全参数sp后,首先选取两个素数q阶的乘法循环群G1和G2,其中G1的生成元为g;存在双线性映射e:G1×G1→G2。其次密钥生成中心KGC随机选取α作为全局主私钥,其中并设全局公钥Ppub=gα。最后密钥生成中心KGC选取3个哈希函数H1、H2:{0,1}*′→G1、H3:G2→{0,1}l;由此得到整个***的参数为(G1,G2,e,g,Ppub,H1,H2,H3,l),其中中的*表示有限域,哈希函数H2中的*′表示任意长度,哈希函数H3中的l表示长度。
步骤2、私钥提取:
根据全局主私钥α和文件拥有者的身份标识ID={0,1}*′计算文件拥有者的用户私钥s=H1(ID)α。
步骤3、标签生成:
给定一个名称为f的文件,文件拥有者首先将文件f分割为n个文件块,文件f可表示为m1,m2,…mn,其中mi∈Zq,i=1,2,…n,Zq表示q阶整数域。然后随机选取验证私钥η,并计算验证公钥r,r=gη。其次计算每个文件块mi的标签验证标签σi,最后文件拥有者将文件f以及验证信息(r,{σi}i=1,2,…n,IDS(r||f))发送给文件持有者存储,其中IDS(r||f)是文件拥有者对消息r||f的身份签名。其中r||f和f||i中的||均表示拼接。
步骤4、验证挑战:
为验证文件f的完整性,文件验证者从集合[1,n]中选取包含c个随机元素的子集I,从子集I中随机选取元素vi,其中i∈I,记集合Q={(i,vi)},为创建一个挑战,文件验证者随机选取参数计算参数并且同时计算参数c1和c2:c1=gρ,生成知识证明:文件验证者将挑战chal发送给文件持有者,chal=(c1,c2,Q,pf)。
步骤5、生成证明:
然后将信息(m′,r,IDS(r||f))发送给文件验证者。
步骤6、完成验证:
文件验证者收到文件持有者发送过来的信息(m′,r,IDS(r||f)),读取其中响应参数m′后,首先检查IDS(r||f)是否是文件拥有者对消息r||f的有效身份签名,若不是则验证失败,否则文件验证者进一步检查响应参数m′,若响应参数求解的等式(1)成立,表示验证通过,否则验证失败。
所述验证过程正确性的判断如下:
本发明有益效果如下:
本发明所提出的方法能够在分布式环境中,支持非相互信任的实体之间文件发布、文件保存、文件验证等三类主要事务的分布式执行,即文件拥有者可以将文件保存事务发布给文件持有者,同时将文件验证事务发布给文件验证者;
本发明提出的验证方法不需要文件拥有者事先建立公私钥对,可以针对特定文件建立专门的基于身份密码的公私钥对,能够保证即使某个文件的安全保护机制被攻击者攻陷,不会影响到属于该文件拥有者的其它文件。
具体实施方式
下面结合具体实施方式对本发明作进一步说明。
术语说明:
·密钥生成中心:全局的可信安全机构,负责维护***安全参数、全局主私钥,并且为每个用户(主要是文件拥有者)生成用户私钥;
·文件:二进制流形式的数据对象,可以具有特定格式的标准数据对象,如JPG图像、Office文档等;也可以是标准数据对象经过编码、压缩或加密操作的产物。文件是文件拥有者准备存储的原始数据;
·文件块:为了方便管理将文件分割成固定长度的文件块,对于最后一个长度无法对齐的文件块,需要进行填充,确保每个文件块的长度相同;
·文件拥有者:是文件的所有权人,可以是文件的创建者,也可以是对文件具有完全的实际控制权实体。文件拥有者通常是文件的添加者,有权力删除、修改文件;
·文件持有者:是提供存储空间保存文件块的实体;
·文件验证者:得到文件拥有者的授权,对文件持有者保存的文件块的有效性、正确性进行验证的实体。
一种基于身份密码的文件完整性验证方法,包括如下内容:首先对参数进行设置,然后文件拥有者创建每个文件的验证私钥η和验证公钥r;文件拥有者对文件进行分割,计算每个文件块mi的标签验证标签σi并保存;文件验证者对文件的任意文件块进行随机抽查,对每个待检查的文件块mi生成临时随机挑战;文件验证者每次检查生成随机参数以及参数c1=gρ,文件持有者计算中间参数μ、σ和响应参数m′;文件验证者验证响应参数m′,若响应参数求解的等式成立,表示验证通过。
本发明具体实现步骤如下:
步骤1、参数设置:
密钥生成中心KGC收到安全参数sp后,首先选取两个素数q阶的乘法循环群G1和G2,其中G1的生成元为g;存在双线性映射e:G1×G1→G2。其次密钥生成中心KGC随机选取α作为全局主私钥,其中并设全局公钥Ppub=gα。最后密钥生成中心KGC选取3个哈希函数H1、H2:{0,1}*′→G1、H3:G2→{0,1}l;由此得到整个***的参数为(G1,G2,e,g,Ppub,H1,H2,H3,l),其中中的*表示有限域,哈希函数H2中的*′表示任意长度,哈希函数H3中的l表示长度。
步骤2、私钥提取:
根据全局主私钥α和文件拥有者的身份标识ID={0,1}*′计算文件拥有者的用户私钥s=H1(ID)α。
步骤3、标签生成:
给定一个名称为f的文件,文件拥有者首先将文件f分割为n个文件块,文件f可表示为m1,m2,…mn,其中mi∈Zq,i=1,2,…n,Zq表示q阶整数域。然后随机选取验证私钥η,并计算验证公钥r,r=gη。其次计算每个文件块mi的标签验证标签σi,最后文件拥有者将文件f以及验证信息(r,{σi}i=1,2,…n,IDS(r||f))发送给文件持有者存储,其中IDS(r||f)是文件拥有者对消息r||f的身份签名。其中r||f和f||i中的||均表示拼接。
步骤4、验证挑战:
为验证文件f的完整性,文件验证者从集合[1,n]中选取包含c个随机元素的子集I,从子集I中随机选取元素vi,其中i∈I,记集合Q={(i,vi)},为创建一个挑战,文件验证者随机选取参数计算参数并且同时计算参数c1和c2:c1=gρ,生成知识证明:文件验证者将挑战chal发送给文件持有者,chal=(c1,c2,Q,pf)。
步骤5、生成证明:
然后将信息(m′,r,IDS(r||f))发送给文件验证者。
步骤6、完成验证:
文件验证者收到文件持有者发送过来的信息(m′,r,IDS(r||f)),读取其中响应参数m′后,首先检查IDS(r||f)是否是文件拥有者对消息r||f的有效身份签名,若不是则验证失败,否则文件验证者进一步检查响应参数m′,若响应参数求解的等式(1)成立,表示验证通过,否则验证失败。
所述验证过程正确性的判断如下:
本发明方法可用于依赖分布式存储或分布式数据库,且对数据对象的一致性、完整性要求较高的应用领域,例如:医疗信息***中的病历数据存储、金融信息***中的用户信用数据存储、云存储中的个人关键数据网盘、企业知识资产数字保险箱等。
如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的非易失性存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (2)
2.根据权利要求1所述的一种基于身份密码的文件完整性验证方法,其特征在于具体包括如下步骤:
步骤1、参数设置:
密钥生成中心KGC收到安全参数sp后,首先选取两个素数q阶的乘法循环群G1和G2,其中G1的生成元为g;存在双线性映射e:G1×G1→G2;其次密钥生成中心KGC随机选取α作为全局主私钥,其中并设全局公钥Ppub=gα;最后密钥生成中心KGC选取3个哈希函数H1、H2:{0,1}*′→G1、H3:G2→{0,1}l;由此得到整个***的参数为(G1,G2,e,g,Ppub,H1,H2,H3,l),其中中的*表示有限域,哈希函数H2中的*′表示任意长度,哈希函数H3中的l表示长度;
步骤2、私钥提取:
根据全局主私钥α和文件拥有者的身份标识ID={0,1}*′计算文件拥有者的用户私钥s=H1(ID)α;
步骤3、标签生成:
给定一个名称为f的文件,文件拥有者首先将文件f分割为n个文件块,文件f可表示为m1,m2,…mn,其中mi∈Zq,i=1,2,…n,Zq表示q阶整数域;然后随机选取验证私钥η,并计算验证公钥r,r=gη;其次计算每个文件块mi的标签验证标签σi,最后文件拥有者将文件f以及验证信息(r,{σi}i=1,2,…n,IDS(r||f))发送给文件持有者存储,其中IDS(r||f)是文件拥有者对消息r||f的身份签名;其中r||f和f||i中的||均表示拼接;
步骤4、验证挑战:
为验证文件f的完整性,文件验证者从集合[1,n]中选取包含c个随机元素的子集I,从子集I中随机选取元素vi,其中i∈I,记集合Q={(i,vi)},为创建一个挑战,文件验证者随机选取参数计算参数并且同时计算参数c1和c2:c1=gρ,生成知识证明:文件验证者将挑战chal发送给文件持有者,chal=(c1,c2,Q,pf);
步骤5、生成证明:
文件持有者收到文件验证者发送的挑战chal后,首先计算参数Z~=e(H1(ID),Ppub),然后验证知识证明pf;若无效则退出;否则文件持有者计算中间参数μ、σ,其中中间参数σ是子集对应的验证标签集合,然后计算响应参数m′;
然后将信息(m′,r,IDS(r||f))发送给文件验证者;
步骤6、完成验证:
文件验证者收到文件持有者发送过来的信息(m′,r,IDS(r||f)),读取其中响应参数m′后,首先检查IDS(r||f)是否是文件拥有者对消息r||f的有效身份签名,若不是则验证失败,否则文件验证者进一步检查响应参数m′,若响应参数求解的等式(1)成立,表示验证通过,否则验证失败;
所述验证过程正确性的判断如下:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110324482.6A CN112989418A (zh) | 2021-03-26 | 2021-03-26 | 一种基于身份密码的文件完整性验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110324482.6A CN112989418A (zh) | 2021-03-26 | 2021-03-26 | 一种基于身份密码的文件完整性验证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112989418A true CN112989418A (zh) | 2021-06-18 |
Family
ID=76333817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110324482.6A Pending CN112989418A (zh) | 2021-03-26 | 2021-03-26 | 一种基于身份密码的文件完整性验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112989418A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811450A (zh) * | 2015-04-22 | 2015-07-29 | 电子科技大学 | 云计算中一种基于身份的数据存储方法及完整性验证方法 |
CN110912706A (zh) * | 2019-11-15 | 2020-03-24 | 东北大学 | 一种基于身份的动态数据完整性审计方法 |
CN111709058A (zh) * | 2020-06-09 | 2020-09-25 | 陕西师范大学 | 一种基于身份和环签名的数据完整性校验方法 |
-
2021
- 2021-03-26 CN CN202110324482.6A patent/CN112989418A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811450A (zh) * | 2015-04-22 | 2015-07-29 | 电子科技大学 | 云计算中一种基于身份的数据存储方法及完整性验证方法 |
CN110912706A (zh) * | 2019-11-15 | 2020-03-24 | 东北大学 | 一种基于身份的动态数据完整性审计方法 |
CN111709058A (zh) * | 2020-06-09 | 2020-09-25 | 陕西师范大学 | 一种基于身份和环签名的数据完整性校验方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109074434B (zh) | 使用分布式散列表和点对点分布式分类账验证数字资产所有权的方法和*** | |
Barsoum et al. | Provable multicopy dynamic data possession in cloud computing systems | |
Jin et al. | Dynamic and public auditing with fair arbitration for cloud data | |
CN109194466A (zh) | 一种基于区块链的云端数据完整性检测方法及*** | |
CN112119610A (zh) | 用于控制对资源的访问的令牌的存储、生成和验证的改进***和方法 | |
CN110096903B (zh) | 基于区块链的资产验证方法及区块链网络*** | |
CN104978239A (zh) | 一种实现多备份数据动态更新的方法、装置及*** | |
CN112565264B (zh) | 一种基于区块链的云存储数据完整性检测方法 | |
CN115225409B (zh) | 基于多备份联合验证的云数据安全去重方法 | |
CN112532650A (zh) | 一种基于区块链的多备份安全删除方法、*** | |
CN115208628B (zh) | 基于区块链的数据完整性验证方法 | |
CN112347516A (zh) | 基于区块链的资产证明方法及装置 | |
CN114691669A (zh) | 一种电子存证方法、装置、电子设备及存储介质 | |
CN117235342A (zh) | 基于同态哈希函数和虚拟索引的动态云审计方法 | |
Xu et al. | A generic integrity verification algorithm of version files for cloud deduplication data storage | |
CN111680325A (zh) | 一种数据加押方法及装置 | |
CN113342802A (zh) | 区块链数据存储的方法和装置 | |
KR102517001B1 (ko) | 블록체인 네트워크 상에서 전자서명 처리 시스템 및 방법 | |
CN113139209B (zh) | 一种基于原子性签名的可验证凭据实现方法和*** | |
CN112989418A (zh) | 一种基于身份密码的文件完整性验证方法 | |
CN111585756B (zh) | 一种适用于多副本-多云情形下的无证书云审计方法 | |
KR20220134341A (ko) | 분산 id를 활용한 소유권 증명 및 이전 내역 증명 방법 | |
CN109802828B (zh) | 支持公开验证的云数据完整性审计方法 | |
Hiremath et al. | Homomorphic authentication scheme for proof of retrievability with public verifiability | |
Ayasy et al. | Protecting author royalty of digital assets using blockchain and elliptic curve cryptography |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210825 Address after: 310000 6-809, No. 501, No. 2 street, Baiyang street, Qiantang New District, Hangzhou, Zhejiang Province Applicant after: HANGZHOU ANSIYUAN TECHNOLOGY Co.,Ltd. Address before: 310018 6-808, 501, 2 Baiyang street, Qiantang New District, Hangzhou City, Zhejiang Province Applicant before: Guoke Xin'an science and Technology Research Institute (Hangzhou) Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210618 |