网盘加密策略

来源:互联网 发布:网络咨询医生工资待遇 编辑:程序博客网 时间:2024/04/28 03:49

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

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

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

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




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

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


用户上传:


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 0
原创粉丝点击