网盘加密策略

用户的公钥用来加密,用户的私钥用来解密。所有用户的公钥都保存到服务器端,所有用户的私钥都加密之后保存到服务器端。

用户上传加密文件时,在服务器端生成随机密码,使用用户的公钥对密码时行加密,然后把加密之后的密码保存起来。由于没有有用户的私钥,所有除了用户本人,没人能打开。

用户分享时,用户会输入加密私钥的密码。那么用此密码能解加私钥,然后用用户的私钥能解开加密文件的密码原文。然后再用分享的目标用户的公钥进行加密。操作过程只在内存中, 不保存到文件。这样除了用户和分享目标用户,没有能打开文件。

如果增设最高管理员能打开所有文件,那么要把最高管理员的公钥也放在系统中。最高管理员的私钥不放到系统中。以免系统进入侵造成数据泄密。




结合以上问题,初步的方案如下:

用户的公钥用来加密,用户的私钥用来解密。所有用户的公钥都保存到服务器端,所有用户的私钥都加密之后保存到服务器端。


用户上传:


user1上传时,在服务器端生成随机密码,并且把随机密码用user1和admin(管理员)的私钥加密,形成user-password-user1和user-password-admin,保存到适当的地方:
user-password-user1=user1用私钥加密的密码。
user-password-admin=admin用私钥加密的密码。

   user1下载时,会输入解开私钥的密码。服务器端用此密码解开user1的私钥,然后用此私钥解开user-password-user1,得到随机密码,就可解开文件,传给客户端。

 

当user1分享此文件给user2,user3时.
会输入解开私钥的密码。服务器端用此密码解开user1的私钥,然后用此私钥解开user-password-user1,得到随机密码。然后用use2和user3的公密对随机密码进行加密,开成以下两个密码,保存到适当的地方。:
user-password-user2=user1用私钥加密的密码。
user-password-user3=user3用私钥加密的密码。
这样user1,user2,user3,admin都能通过自己的私钥打开文件。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值