基于第三方的安全文件存储和共享系统及方法

文档序号:9202668阅读:772来源:国知局
基于第三方的安全文件存储和共享系统及方法
【技术领域】
[0001]本发明属于信息处理技术领域,尤其涉及一种基于第三方的安全文件存储和共享系统及方法。
【背景技术】
[0002]现在越来越多的个人用户或者是机构用户使用第三方服务来存储数据。第三方存储服务可以为用户提供多种益处,包括成本低廉、使用方便、灵活存储、附加服务和对数据的集中访问。
[0003]许多用户想要确保自己存储在第三方的信息不会被第三方机构随意获取。因此,用户希望将自己的数据在提交给第三方之前进行加密处理。例如,由于隐私问题,可能个人用户希望对发送给第三方存储供应商的数据进行加密。类似的,一些机构用户可能希望对发送给第三方存储供应商的数据加密以便确保遵守内部或者外部数据保护要求,诸如政府法律法规、与其他组织的合作协议等,并且对于用户来说我们往往希望我们的数据可以进行相互之间共享。因此,基于第三方存储的用户数据加密存储和解密下载以及加密数据共享成为了现在迫切需要解决的问题。用户需要通过灵活的访问控制策略,实现权限的灵活设置,从而控制数据的共享范围,以及在与用户通信过程中保证数据的机密性。
[0004]通常我们加密文件使用一个密钥,加密与解密都使用同一个密钥,因为这种方式加密文件具有较高的效率,但是当我们想将文件共享给其他用户时,并且想让他阅读到文件内容,我们必须将密钥一起交予对方,他才能得到共享的文件。但是安全的密钥交付在单一密钥使用情况下是非常难以实现的。

【发明内容】

[0005]本发明的目的在于提供一种基于第三方的安全文件存储和共享系统及方法,旨在解决基于第三方的存储中,无法很好保证用户数据机密性以及加密后的文件方便快速的共享给其他用户的问题。
[0006]本发明的目的在于提供一种基于第三方的安全文件存储和共享系统及方法,所述基于第三方的安全文件存储和共享系统及方法对用户端文件的加密上传和用户解密下载文件,当文件在加密上传后将用户文件密钥获取到用户端,在用户端对文件密钥进行解密然后再用对方的公钥重新进行加密生成新的文件密钥,然后上传至服务端存储,对方使用文件时使用私钥解密文件密钥进而再解密文件获得最终文件。
[0007]进一步,所述基于第三方的安全文件存储和共享系统及方法具体包括以下步骤:
[0008]步骤一,系统初始化:
[0009]用户A与用户B在首次登录系统时进行初始化;
[0010]用户A与用户B在完成初始化后即进行登陆系统,登陆过程如下:
[0011]用户登录系统,用户端将自动获取存储于第三方存储机构的密钥文件,并通过对注册信息进行哈希计算获取到口令密钥,通过口令密钥解密密钥文件,对密钥文件进行解析后分别获得用户主密钥与用户私钥,并将主密钥与私钥存储于用户端;
[0012]步骤二,文件加密上传;
[0013]步骤三,密文共享;
[0014]步骤四,文件下载解密;
[0015]步骤五,注销:
[0016]当需要注销时,用户端会自动清除存储于用户端的主密钥与用户私钥。
[0017]进一步,在步骤一中所述初始化过程包括:
[0018]第一步,用户进入注册界面,按要求提供用户名与口令进行注册,然后用户端会根据注册信息在用户端通过哈希函数生成符合对称加密密钥长度要求的用户口令密钥;
[0019]第二步,用户端会通过本地函数调用在本地生成大小为m的安全随机数,随机数作为用户的主密钥,m的大小根据对称加密算法对密钥长度的要求来进行确定,与此同时也在本地生成用户的非对称加密的密钥对;
[0020]第三步,将生成的用户主密钥与用户私钥通过口令密钥进行加密,生成密文状态的密钥文件,将文件通过编码后上传至第三方平台机构进行存储,存储至用户注册信息列表中;
[0021]第四步,将生成的公钥直接上传至用户注册信息列表中,进行存储从而完成注册。
[0022]进一步,在步骤二中所述文件上传过程包括:
[0023]第一步,用户A选择需要加密上传的文件,然后由用户端随机生成一个安全的随机数,长度符合对称加密密钥长度,将随机数作为文件密钥;
[0024]第二步,通过使用文件密钥对所选文件进行加密,并将加密结果缓存在本地;
[0025]第三步,文件密钥通过用户主密钥进行加密,并且将加密后的文件密钥通过文件拼接的方式拼接到通过第二步加密后的文件前,组成一个新的文件,前m字节为加密后的文件密钥,m字节后为加密后的文件内容;
[0026]第四步,用户A将新组成的加密文件上传至服务端进行存储。
[0027]进一步,在步骤三中所述文件共享具体包括:
[0028]第一步,用户A首先在自己的存储空间内选择需要共享的文件,设置文件属性为共享,提供用户查询的窗口,当用户A在窗口内输入用户B的用户名后用户端自动发送查询请求到服务端查询用户B是否存在,如果用户B存在则将返回一个确认信息以及用户B的公钥;
[0029]第二步,用户A通过发送请求获取当前所要共享文件的加密后的文件密钥,第三方平台机构接收到请求后则会将第三方平台机构中存储的当前文件密态的文件密钥发送给用户A ;
[0030]第三步,用户A接收到文件的文件密钥后,通过存储在本地的主密钥解密获取文件的明文状态的文件密钥;
[0031]第四步,通过使用在第一步中获取到的用户B的公钥对明文的文件密钥进行加密处理,形成新密态的文件密钥;
[0032]第五步,用户A的用户端自动将新加密得到的密钥通过可视化编码为字符串,然后将编码后的密钥上传到第三方平台机构,并在共享文件信息列表中插入一条记录用来存储密钥以及相关信息;
[0033]第六步,第三方平台机构根据共享文件信息列表对用户B进行文件标记,使得用户B能够在自己的存储空间中看到并识别出共享文件。
[0034]进一步,在步骤四中所述文件下载具体包括:
[0035]共享文件的下载解密:
[0036]第一步,用户B在自己的文件列表内选择接受到的共享文件,发送下载请求;
[0037]第二步,第三方平台机构根据下载请求判断该文件是否为共享文件,如果是共享文件则将存储于共享文件信息列表中的文件密钥发送给用户B,同时将请求的共享文件发送到用户B进行缓存;
[0038]第三步,用户端将使用获取到的用户私钥对第二步中获取到的文件密钥进行解密,从而获取到文件密钥,通过使用文件密钥对文件进行解密获取到明文的原始文件;
[0039]非共享文件的下载解密:
[0040]第一步,用户A或者B选择需下载的非共享文件,发送下载请求;
[0041]第二步,第三方平台机构根据下载请求判断该文件是否为共享文件,如果不是共享文件,则将请求的文件发送到用户A或者B进行缓存;
[0042]第三步,用户端获取缓存的文件头部信息,并通过用户的主密钥解密头部信息,获取得到明文的文件密钥,通过明文的文件密钥解密获取明文的原始文件,从而完成下载。
[0043]本发明的另一目的在于提供一种基于第三方的安全文件存储和共享系统,所述基于第三方的安全文件存储和共享系统包括:
[0044]用于存储数据的第三方存储机构的服务端;
[0045]用于进
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1