Skip to content

Instantly share code, notes, and snippets.

@bai-jie
Created April 10, 2016 10:31
Show Gist options
  • Save bai-jie/36e8c5647a3b7197e9e68971b55f710d to your computer and use it in GitHub Desktop.
Save bai-jie/36e8c5647a3b7197e9e68971b55f710d to your computer and use it in GitHub Desktop.

Feature

  • 可删除

可删除

ID = account name + 注册时间

同一时刻,一个 account name 只属于一个人。

针对一个 account name 的注册、删除、注册,两次注册的账号,可以根据“注册时间”区分。

安全

  • 客户端 - 业务处理服务器 - 存储服务器

如果某个业务处理用到用户的个人信息(属于应当保护的个人隐私)

  • 客户端 - 业务处理服务器 - 账户信息存储服务器

各服务器以及服务器间的通信,都得是安全的

账户信息存储服务

账号名 注册时间 凭证(密码/公钥/Email/绑定账号) 个人信息
明文 明文 密码:安全Hash/公钥:明文/Email:明文/绑定账号:明文 密文
账户信息 := 账户ID + 凭证 + 个人信息

账户ID := 账号名 + 注册时间
账号名 : 明文
注册时间 : 明文

凭证 := 对称密码/公钥/Email ID/绑定账号
对称密钥 : 安全Hash值
公钥 : 明文
Email ID : 明文
绑定账号 : 明文

个人信息 : 密文
密文 := 加密模式 + 加密数据
加密模式 := 加密算法 + 密钥ID

使用密文字段时,它一直保持原样直到客户端,由客户端负责根据“加密模式”解密。

不同字段根据保密性可以有不同加密模式。即使是使用相同加密算法的字段,也可以有不同密钥,通过“密钥ID”区分。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment