导读:说明.今天首先考虑安全角度下个人以及团队密码的存储方案,以及两种情况下的加密解密方式。.个人密码加密.了解了1password等软件的个人加密方式应该是采用2SKD(two-secret key derivation)方式,two-secret.key指的是master pass
今天首先考虑安全角度下个人以及团队密码的存储方案,以及两种情况下的加密解密方式。
了解了1password等软件的个人加密方式应该是采用2SKD
(two-secret key derivation)方式,two-secret
key指的是master password(用户主密码)和secret key
详情见链接1Password安全工作原理,同类型软件也是采用类似的原理存储,由于此密码管理器初衷是为了个人或者团队内部使用部署,所以暂时采用第二代密码管理器的通用加密方式,master
password +salt(盐)并且使用 PBKDF 2 生成加密密钥 key,其中salt和迭代次数count
随机生成并且保存在用户数据表(每个用户不同)。通过key对要存储的密码字段进行加密,然后存储加密后的密码到数据库。
解密流程是拿到加密密码和salt和count ,在客户端对master password使用 PBKDF 2 拿到 key,并对密码进行解密以取到明文密码。
团队密码因为分享密码的时候key或者密码明文都是不能存储或者通信的,不然会有安全隐患,密码也就跟明文存储在数据库差不多,所以暂时考虑使用非对称加密+对称加密的方案。
上一篇:全栈之前端 | 2.HTML根部
下一篇:百度网盘(百度云)SVIP超级会