1、问题描述:
萤石云系统允许用户修改视频加密密钥,出于安全性考虑,并不在服务器端保存用户的旧明文密钥,而是只保存了两次MD5值,同时,服务器记录了云存储录像和其对应正确密钥的两次MD5值,当用户登录时,会返回该对应关系,用户需要查看老的云存储录像时,通过匹配输入的明文密钥的两次MD5值和服务器返回的两次MD5值是否一致来判断是否可以进行解密。此方案的问题在于:当用户多次修改视频加密密钥后,会很难记得之前的老的密钥,而我们平台并没有帮用户恢复密钥的机制,也在一定程度上造成了不便。
2、解决方案:
2.1、描述:
整体思路:用户只需要记住当前设置的最新密钥,使用当前最新的密钥去加密之前所有旧的密钥,当用户查看旧的云存储录像时,通过当前最新密钥去解密获取所有旧密钥,并继续采用匹配两次MD5值的方式获得对应正确的明文密钥进行解密。
2.3、用户在新手机查看云存储录像流程图 :