一种基于云计算的文件存储及下载的方法及装置与流程

文档序号:16588639发布日期:2019-01-14 18:54阅读:139来源:国知局
一种基于云计算的文件存储及下载的方法及装置与流程

本发明涉及云存储技术,尤指一种基于云计算的文件存储及下载的方法及装置。



背景技术:

个人云计算是云计算在个人领域的延伸,是以internet(因特网)为中心的个人信息处理,即通过internet对个人的各种信息进行组织、存储、分发和再加工。个人信息是私有的,对安全性要求较高。个人拥有大量的图片、视频等多媒体信息,要求存储量大并可以扩展,而对计算能力要求不强。随着互联网的普及,个人云计算必将成长为与企业云计算同样普遍的服务。对于个人用户来说,云计算的优势相当明显:廉价甚至免费、安全、无所不在、性能按需取用等。目前,个人用户对于云计算技术最为关心的是数据在上传到云计算服务器之后的安全性,毕竟谁都不希望自己的隐私(例如照片、日记等私密信息)成为公众浏览传播的对象。保护用户数据安全的最好方法就是采用加密技术,研究合理的适合个人云计算中数据存储特点的密钥管理方案尤为重要。

目前主流的密钥管理方法在实际使用过程中存在一些弊端,主要体现在以下几方面:一是采用数字证书方式对所有用户颁发数字证书,对文件采用对称密钥进行加密,而对称密钥通过数字证书中的公钥加密存储,用户访问文件时,需要根据对应的私钥来解密获得对称密钥,进而解密文件。由于数字证书的私钥不方便用户记忆,用户需要随身携带私钥(例如存在u盘中)才能访问到数据文件,不适合个人云用户随时随地访问云的需求。二是采用单一对称密钥加密所有文件,比如利用登录用户名以及口令,通过一定的算法产生一个对称密钥,利用该密钥加密所有的用户文件。该方法实现简单,而且用户名和口令方便用户记忆,也不需要维护更多的信息,但是一旦对称密钥泄漏,所有文件都不安全,能够随时被解密;当用户希望更换用户名和口令时,需要用新密钥对所有文件进行重新加密,工作量巨大;三是采用一次一密的方式加密文件,对不同的文件采用不同的密钥加密,一个密钥只使用一次。该方法能够极大地提高数据文件的安全性,即使泄漏部分密钥也仅威胁到用这些密钥加密的文件安全,然而在云端存储的文件数目众多,个人用户无法记住所有密钥,云端服务器必须维护一个“文件-密钥”对照表,用于记录哪个文件对应的哪个密钥加密。一旦密钥表损坏不可读取,则意味着用户的所有加密文件均不能打开,损失将十分惨重。



技术实现要素:

为了解决上述技术问题,本发明提供了一种基于云计算的文件存储及下载的方法及装置,以提高了个人云计算数据安全性和管理方便性。

为了达到本发明目的,本发明提供了一种基于云计算的文件存储的方法,包括:

存储文件时,通过随机密钥生成算法产生第一密钥,利用第一密钥将文件明文转化成文件密文;

将所述第一密钥加密得到第二密钥;

将所述第二密钥与所述文件密文绑定进行存储。

进一步地,所述将所述第一密钥加密得到第二密钥,包括:

通过对用户登录系统时输入的用户名和用户登录口令进行哈希运算,将运算结果数据作为密钥对所述第一密钥进行加密得到所述第二密钥。

进一步地,所述将所述第二密钥与所述文件密文绑定进行存储的过程中,还包括:

对所述文件密文进行标记。

一种基于云计算的文件存储的装置,其中,包括:

第一加密模块,用于接收到存储文件的指示后,通过随机密钥生成算法产生第一密钥,利用第一密钥将文件明文转化成文件密文;

第二加密模块,用于将所述第一密钥加密得到第二密钥;

存储模块,用于将所述第二密钥与所述文件密文绑定进行存储。

进一步地,所述第二加密模块,将所述第一密钥加密得到第二密钥包括:通过对用户登录系统时输入的用户名和用户登录口令进行哈希运算,将运算结果数据作为密钥对所述第一密钥进行加密得到所述第二密钥。

进一步地,所述存储模块,将所述第二密钥与所述文件密文绑定进行存储的过程中,还用于对所述文件密文进行标记。

一种基于云计算的文件下载的方法,包括:

下载文件时,如确定待下载的文件是文件密文,则将从所述文件密文中抽取出第二密钥,对所述第二密钥解密得到第一密钥;

通过所述第一密钥对所述文件密文进行解密得到文件明文;

对所述文件明文进行下载。

进一步地,所述确定待下载的文件是文件密文是通过以下方式实现的:

通过读取所述文件密文中携带的用于标记是否是密文的标记。

进一步地,所述对所述第二密钥解密得到第一密钥,包括:

通过用户名和用户登录口令对所述第二密钥解密得到第一密钥。

一种基于云计算的文件下载的装置,包括:

第一解密模块,用于下载文件时,如确定待下载的文件是文件密文,则将从所述文件密文中抽取出第二密钥,对所述第二密钥解密得到第一密钥;

第二解密模块,用于通过所述第一密钥对所述文件密文进行解密得到文件明文;

下载模块,用于对所述文件明文进行下载。

进一步地,所述第一解密模块,对所述第二密钥解密得到第一密钥,包括:通过用户名和用户登录口令对所述第二密钥解密得到第一密钥。

本发明实施例的方案,在保护个人数据安全的同时,便于密钥的管理、更新与维护,简易灵活。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明实施例的一种基于云计算的文件存储的方法的流程图;

图2为本发明实施例的加密文件的流程图;

图3为本发明实施例的加密密钥的流程图;

图4为本发明实施例的文件明文的格式的示意图;

图5为本发明实施例的文件密文的格式的示意图;

图6为本发明实施例的一种基于云计算的文件存储的装置的示意图;

图7为本发明实施例的一种基于云计算的文件下载的方法的流程图;

图8为本发明实施例的一种基于云计算的文件下载的装置的示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1为本发明实施例的一种基于云计算的文件存储的方法的流程图,如图1所示,本实施例的方法包括:

步骤101、存储文件时,通过随机密钥生成算法产生第一密钥,利用第一密钥将文件明文转化成文件密文;

步骤102、将所述第一密钥加密得到第二密钥;

步骤103、将所述第二密钥与所述文件密文绑定进行存储。

本实施例的方法实现了文件的一次一密,加密每一个文件的第一密钥均不同。部分第一密钥的泄露,仅会影响到用这些第一密钥来加密的文件安全性,对其他文件不构成威胁。

本发明实施例的提出了一种基于云计算的文件存储的方法,既保障个人数据安全,又便于密钥的管理、更新与维护。

本发明实施例提出的方法适合个人云计算的密钥管理,将密钥与文件进行绑定存储,不需要维护密钥对照表。为了描述方便,事先约定几个符号标记:plaintext:文件明文,cipher:文件密文,username:用户登录名,password:用户登录口令,hash():hash函数运算,key:密钥明文(即相当于上文的第一密钥),key:密钥密文(即相当于上文的第二密钥),ek():利用对称密钥k进行加密,dk():利用对称密钥k进行解密运算,||:串联。

本实施例中,对于需要在云端进行加密存储的文件,对于个人用户首先通过一个随机密钥生成算法产生密钥key,利用key通过加密算法将文件明文plaintext转化成文件密文cipher,如图2所示。

要将密钥key与文件进行绑定存储,因此在存储前必须对key进行加密处理。通过对用户登录系统时输入的username和password进行hash(哈希)运算,将运算结果数据作为密钥来对key进行加密得到key,如图3所示。

本实施例中,云端文件的存储格式可以分为两类:①对于明文存储的文件,按照图4格式进行存储;②出于安全性考虑,需要密文存储的文件,按照图5格式进行存储。

存储格式的第一比特0,表示文件以明文存储;若为1,表示文件以密文存储。当文件以密文形式存储时,在密文前需要增加加密后密钥key,2个字节用于表示文件的有效数据长度。

本实施例的方法,个人用户不需要随身携带存储密钥的设备(例如u盘),只需记住自己设置的系统登录用户名和口令即可,方便用户随时随地访问个人云数据。

当用户需要定期更改登录用户名和口令时,对个人云端已有的加密文件,仅需依据新设置的用户名和口令对key进行替换,工作量较小,对系统性能影响不大。

相应地,本实施例还提供了一种基于云计算的文件存储的装置,如图6所示,本实施例的装置600可以包括:

第一加密模块601,用于接收到存储文件的指示后,通过随机密钥生成算法产生第一密钥,利用第一密钥将文件明文转化成文件密文;

第二加密模块602,用于将所述第一密钥加密得到第二密钥;

存储模块603,用于将所述第二密钥与所述文件密文绑定进行存储。

本实施例的装置实现了文件的一次一密,加密每一个文件的第一密钥均不同。部分第一密钥的泄露,仅会影响到用这些第一密钥来加密的文件安全性,对其他文件不构成威胁。本发明实施例的提出了一种基于云计算的文件存储的装置,既保障个人数据安全,又便于密钥的管理、更新与维护。

在一实施例中,所述第二加密模块602,将所述第一密钥加密得到第二密钥包括:通过对用户登录系统时输入的用户名和用户登录口令进行哈希运算,将运算结果数据作为密钥对所述第一密钥进行加密得到所述第二密钥。

本实施例的装置,个人用户不需要随身携带存储密钥的设备(例如u盘),只需记住自己设置的系统登录用户名和口令即可,方便用户随时随地访问个人云数据。

在一实施例中,所述存储模块603,将所述第二密钥与所述文件密文绑定进行存储的过程中,还可以用于对所述文件密文进行标记。

图7为本发明实施例的一种基于云计算的文件下载的方法的流程图,如图7所示,本实施例的方法包括:

步骤701、下载文件时,如确定待下载的文件是文件密文,则将从所述文件密文中抽取出第二密钥,对所述第二密钥解密得到第一密钥;

步骤702、通过所述第一密钥对所述文件密文进行解密得到文件明文;

步骤703、对所述文件明文进行下载。

本发明实施例的方法不仅能够保障个人云中的数据安全,而且实现简单、计算量低。

本实施例中,当用户从云端下载数据时,首先判断文件的第一比特,若为0,表示文件为明文存储,直接下载;若为1,则系统抽取出key,通过username和password,依据图3逆向解密得到key,再依据图2逆向解密cipher得到plaintext。

本实施例中,实现了文件的一次一密,加密每一个文件的密钥key均不同。部分key的泄露,仅会影响到用这些key来加密的文件安全性,对其他文件不构成威胁。

相应地,本发明实施例还提供了一种基于云计算的文件下载的装置,如图8所示,本实施例的装置800包括:

第一解密模块801,用于下载文件时,如确定待下载的文件是文件密文,则将从所述文件密文中抽取出第二密钥,对所述第二密钥解密得到第一密钥;

第二解密模块802,用于通过所述第一密钥对所述文件密文进行解密得到文件明文;

下载模块803,用于对所述文件明文进行下载。

本发明实施例的装置不仅能够保障个人云中的数据安全,而且实现简单、计算量低。

在一实施例中,所述第一解密模块801,对所述第二密钥解密得到第一密钥,包括:通过用户名和用户登录口令对所述第二密钥解密得到第一密钥。

本发明实施例还提供一种基于云计算的文件存储及下载的装置,包括处理器和计算机可读存储介质,所述计算机可读存储介质中存储有指令,其中,当所述指令被所述处理器执行时,实现上述基于云计算的文件存储及下载的方法。

本发明实施例还提供了一种计算机可读存储介质,其存储有计算机可执行指令,所述计算机可执行指令被执行时实现所述基于云计算的文件存储及下载的方法。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

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