【前言】优云网盘采用前沿的加密技术来保障用户的隐私,一切的加解密操作均在用户端完成,您在优云网盘的所有用户信息,包括且不限于用户账号,用户密码,用户文件上传信息等均经过加密后再存储到优云网盘服务器,优云网盘的所有服务在传输/交互流程中均为加密状态,所以请所有优云网盘用户保存好自己的密钥,密钥一旦丢失,意味着优云网盘官方也无法为您重置密码和解密您在优云网盘上传和储存的任何信息。因用户本人忘记密钥,所导致的一切损失与优云网盘以及运营者无关,需用户自行承担。



技术原理介绍:

一:创建账号
用户创建账号时,生成 Master Key 和 RSA Key(2048bit),然后Master Key经由用户账号密码加密后储存,RSA Private Key经过Master Key加密后储存,RSA Public Key明文储存。



二:用户登录
根据用户登录时候提交的账号,服务器使用该用户的RSA Public Key加密一个身份凭证(Access Token)并发送给用户,用户用自己的密码先尝试解密 Master Key,然后再用 Master Key 尝试解密自己的RSA Private Key,最后用 RSA Key 私钥 解密 Access Token。如果用户密码正确,则能得到正确的 Access Token,用户使用正确的 Access Token 则可以进入自己的个人中心了,整个过程中,用户密码不传向优云网盘服务器。



三:上传文件
上传文件时,随机生成File Key并使用Master Key 加密后上传储存到服务器,同时根据文件大小按照对应策略将文件切片并通过 AES 128 算法对文件内容进行加密并上传到储存服务器。


四:下载文件
下载一个文件时,用户端同时下载:加密后的文件或者多个文件切片,加密后的 File Key、加密后的 Master Key,然后用户密码解密Master Key,再用Master Key解密File Key,最终合成文件碎片完成文件还原下载。


五:分享文件
分享一个文件给好友时,File Key的密文先通过文件所有者的 Master Key解密成明文,然后再通过接受者的RSA Public Key加密并储存,接受者接收文件后,再使用通过接受者的RSA Private Key解密加密后的File Key以最终合成文件碎片完成文件还原下载。


六:分享链接
获取文件分享链接时,File Key的密文先通过文件所有者的 Master Key解密成明文,然后将File Key的明文直接附带到分享链接的#符号后面,由于http的请求不包括#,所以#后面的内容不会发送到服务器端,所以整个流程中,File Key的明文依旧只有文件所有者以及链接接收方知道。