一种机密数据的存储方法与流程

文档序号:12491011阅读:572来源:国知局
一种机密数据的存储方法与流程

本发明涉及信息安全技术领域,尤其涉及一种机密数据的存储方法。



背景技术:

机密数据的安全事关国家安全,社会稳定,不容泄露。传统机密数据的存储、管理和使用依然采用“人治”的方式:数据所有者将机密数据交予专门的数据管理者负责内容的访问权限管理并离线存储于专用存储系统中,有时数据管理者也会对机密数据执行加密。任何数据使用者请求获取数据,都需要得到数据管理员和数据所有者的双重授权,由数据管理者采用专用存储介质如光盘等并指派专人将机密数据和解密密钥分发给数据使用者。

而随着大数据时代的到来,数据在各个领域扮演着越来越重要的角色,移动互联网技术和新型存储系统的飞速发展,为数据的存储、传输、分发和使用带来了巨大的便捷性,明显地提高了数据的使用效率,缩短了数据的流转周期,降低了数据的使用成本。机密数据蕴藏着丰富的信息和巨大的价值,但是其繁琐的传统管理方式使得价值和效益无法体现。传统机密数据的管理方式要么严重依赖于人,特别是对数据管理者的权限没法进行有效限定,在巨大的利益驱使下,机密数据很容易陷入不安全的境地;要么依赖存储系统的安全性,而各种黑客技术、数据攻击技术的突飞猛进,使得存储系统和存储介质极易遭受攻击,机密数据的安全性也难以得到可靠保证。同时,传统机密数据的分发方式使得数据流转周期过长,成本较高,而且数据的时效性较低。

综合分析,目前机密数据的存储和管理存在以下的问题:

1.机密数据在存储系统内大多依然以明文形势存在,数据管理者对机密数据具有访问权限,机密数据的安全性完全依赖于数据管理者和存储系统的安全性;

2.当采用传统加密方式加密机密数据,密文数据不能直接交给数据使用者使用,而且当多个授权数据使用者请求加密的机密数据(通常为对称密钥加密),只要一个用户获得数据管理者分配的解密密钥,就能够利用该密钥解密其他授权数据使用者请求的解密数据,数据很容易遭受合谋攻击,同时反复的解密加密操作也增加了数据泄露的风险,操作极为低效;

3.存管不分,传统数据管理者既执行机密数据的内容权限管理,又执行数据的存储管理,数据管理者很容易成为机密数据存储最大的安全漏洞,使机密数据的安全性具有较大的不确定性;

4.机密数据分发效率过低,时效性差,不能充分发挥机密数据的价值。



技术实现要素:

本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种机密数据的存储方法。

本发明解决其技术问题所采用的技术方案是:一种机密数据的存储方法,包括以下步骤:

1)数据拥有者利用公钥密码算法产生公私钥对pko和sko,数据拥有者将公钥pko发送至数据权限管理者进行管理;数据使用者利用公钥密码算法产生与其身份关联的公私钥对pki和ski,数据使用者将公钥pki发送至数据权限管理者进行管理;

2)数据发布:数据拥有者对机密数据加密后,交由数据存储管理者对机密数据密文进行存储、计算、排序和分发,数据存储管理者生成密文数据索引发布给数据权限管理者;

3)数据请求:数据使用者向数据权限管理者请求访问授权,获得授权后向根据密文索引发送数据访问请求,数据权限管理者将机密数据访问请求和数据使用者的公钥pki反馈给数据拥有者;数据权限管理者将机密数据访问请求反馈给数据存储管理者;

4)重加密密钥生成:数据拥有者接收到数据访问请求后,根据数据使用者的公钥信息产生重加密密钥,并发送给数据存储管理者;

具体包括以下步骤,

4.1)数据拥有者利用请求信息中数据使用者的公钥pki、自己的私钥sko和重加密密钥生成算法RKG(p,sko,pki)得到重加密密钥rkoi

4.2)数据拥有者将重加密密钥rkoi发送给数据存储管理者;

4.3)数据存储管理者收到重加密密钥rkoi

5)重加密密文分发:数据存储管理者利用重加密密钥加密数据使用者所请求访问的机密数据密文,得到重加密密文,并将重加密密文发送给授权数据使用者;

具体包括以下步骤,

5.1)数据存储管理者利用数据拥有者提供的机密数据密文C、重加密密钥rkoi和重加密算法RE(·),得到重加密密文C′=RE(C,rkoi);

5.2)数据存储管理者将重加密密文C′发送给授权数据使用者;

6)重加密密文解密:授权数据使用者收到重加密密文,并利用自己的私钥解密重加密密文,得到所请求的机密数据明文。

按上述方案,所述步骤2)中数据拥有者利用加密算法E(·)、公钥pko和公共参数p将机密数据的明文M,得到加密后的密文C=E(p,pk0,M)。

按上述方案,所述步骤6)中解密得到机密数据的明文具体如下:

6.1)授权数据使用者收到重加密密文C′;

6.2)授权数据使用者利用自己的私钥ski、解密算法D(·)和公共参数p,解密得到机密数据的明文M=(p,ski,C′)。

本发明产生的有益效果是:

1.实现存管分离

本发明中通过重加密操作实现密文状态变换,数据所有者将机密数据加密后交予数据存储管理者进行存储,由数据权限管理者管理机密数据内容的访问权限。数据存储管理者只是执行对密文数据的重加密操作和数据分发操作,无法获知机密数据的内容,数据权限管理者只是掌握用户公钥和密文数据索引,有效地限定了管理者的权限,即使两者合谋攻击也无法获取数据明文,从技术机制上真正实现了存管分离,使机密数据的内容安全不依赖于任意管理者和存储系统的安全性。此外,用户权限也可以由数据拥有者管理,可以非常灵活的应用到实际应用中,具有高扩展性。

2.实现密文域的安全处理与透明访问

本发明的重加密密钥生成算法为单向不可逆,通过重加密密钥无法计算出私钥信息,保障了机密数据从数据拥有者到数据使用者的数据安全性,能够抵御合谋攻击,重加密之后的机密数据密文安全性显著提高。同时重加密为在机密数据密文域的操作提供了基础机制,能够实现机密数据在密文域的透明访问,为实现机密数据的在密文域的安全处理提供技术基础和可能,具有高可靠性。

3.多用户安全高效分发

本发明的重加密操作由数据存储管理者完成,对于数据拥有者和数据使用者来说,没有增加过多的额外操作,授权数据使用者通过一次解密即可解密机密数据的重加密密文,兼顾了数据安全性和处理效率。同时,不同数据使用者的解密密钥和重加密密文都不相同,能够通过互联网快速分发,即使被攻击者截获,依然无法破解得到机密数据的明文,能够容易地实现多用户的安全高效分发,具有高实用性。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明实施例的方法流程图;

图2是本发明实施例的数据流图;

图3是本发明实施例所提供方法的细化流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明包括以下对象:数据拥有者(Data Owner,DO),生成机密数据,将机密数据加密,并将机密数据密文及其访问权限分别交给数据存储管理者和数据权限管理者管理;DO可以是唯一的,即系统为集中式存储系统,也可以有多个DO,即系统为分布式存储系统,在执行存储和分发时,并没有明显区别,使得本发明系统既具有针对性,又不失通用性

数据权限管理者(Data Authority Manager,DA),管理机密数据密文的访问权限和数据索引,授权或者拒绝用户的访问请求;DA可以和DO是一体的,也可以是独立分开的,以适用于不同的应用需求;

数据存储管理者(Data Storage Manager,DM),负责将机密数据密文存储于存储系统,发布数据索引至数据权限管理者,并对机密数据密文执行重加密操作以及重加密密文分发;

数据使用者(Data User,DU),请求访问DO的机密数据,能够一次操作即解密重加密密文;DU可以有多个,本发明系统支持大规模多用户的数据安全分发。

重加密算法,利用安全参数生成的公开参数生成DO和DU所需的公私钥对以及重加密密钥,重加密算法通过两次加密即可获得重加密密文。本发明不限定具体的重加密算法,但需要满足重加密密钥的生成方式以使得能够利用DU的私钥实现一次解密。

如图1至图3所示,一种机密数据的存储方法,包括以下步骤:

步骤S1,用户注册,DO和DU在系统注册后,利用公钥密码算法分别产生公私钥对,并将各自公钥发送至DA进行管理。具体实现如下:

S1-1,DO选择其公钥参数(y,g,p)和私钥参数x,其中参数p为一大素数,小于参数p的正整数构成一个群参数g为中的本原元;在中选择一随机数xo,得到公钥参数于是DO的私钥sko为xo,公钥pko为(yo,g,p);

S1-2,DO将公钥pko发送至DA进行管理;

S1-3,DU在中选择一随机数xi,得到公钥参数于是DU的私钥ski为xi,公钥pki为(yi,g,p);

S1-4,DU将公钥pki发送至DA进行管理;

步骤S2,数据发布,DO利用EIGamal算法将产生的机密数据加密后,将机密数据密文交予DM进行存储和其它相关操作,DM生成密文数据索引发布给DA。具体实现如下:

S2-1,DO在中选择一随机数k,且f(k,p-1)=1,f(·)为常用函数,利用EIGamal算法加密机密数据得到机密数据密文C:

S2-2,DO将机密数据密文C交付给DM进行存储与管理;

S2-3,DM生成数据密文C的索引;

S2-4,DM将密文索引发布给DA,以便DU进行检索与请求;

步骤S3,数据请求,DU向DA请求访问授权,授权后根据密文索引请求访问密文C,DA将密文C的请求信息反馈给DO和DM。具体实现如下:

S3-1,DU请求向DA请求授权;

S3-2,授权DU根据密文索引请求访问密文C;

S3-3,DA将密文C的请求信息和DU的公钥pki反馈给DO;

S3-4,DA将密文C的请求信息反馈给DM;

步骤S4,重加密密钥生成,DO根据DU的公钥信息生成重加密密钥,并发送给DM。具体实现如下:

S4-1,DO利用授权DU的公钥pki、自己的私钥sko和重加密密钥生成算法RKG(p,sko,pki)生成重加密密钥rkoi

重加密密钥rkoi只能实现密文变换,不能解密数据和逆向推出用户私钥信息,既保障了DO机密数据的安全,又为实现多DU的安全分发提供了基础。

S4-2,DO将重加密密钥rkoi发送给DM;

S4-3,DM收到重加密密钥rkoi

步骤S5,重加密密文分发,DM利用重加密密钥rkoi加密DO的机密数据密文C得到授权DU能够解密的重加密密文,并分发给授权DU。具体实现如下:

S5-1,DM在中选择一随机数u,且f(u,p-1)=1,对密文C执行重加密操作RE(·),生成重加密密文C′,

其中,σ(·)为标准EIGamal算法的运算操作。

S5-2,DM将重加密密文C′分发给授权DU;

步骤S6,重加密密文解密,授权DU收到重加密密文C′后,利用自己的私钥ski解密重加密密文C′,得到所需机密数据的明文M。具体实现如下:

S6-1,授权DU收到重加密密文C′;

S6-2,授权DU利用自己的私钥ski、解密算法D(·)和公共参数p,解密得到机密数据的明文M=D(p,ski,C′),

本实施例中的加密操作、重加密操作和解密操作全部基于EIGamal算法实现,但并不限定于该算法,安全性具有保障。最终授权DU获得了机密数据的明文,整个过程中机密数据始终以密文形式存在,使得机密数据能够利用网络进行传输,不用担心机密数据泄露,机密数据内容的访问权限由数据权限管理者DA管理,数据存储管理者DM只负责数据存储、执行相应重加密和重加密密文交付操作,DA和DM都无法获知机密数据的内容。该实施例证明,本发明能够真正的实现机密数据的安全存储和高效分发。

应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1