制备锁
- 生成RSA密钥对文件(可通过工具),Privatekey.Rsapri和Publickey.Rsapub,用于制备管理员锁和服务器锁。
- 密钥对文件保存好,任何人都可以通过密钥对文件制作管理员锁和服务器锁,从而签发用户锁。
- 同样,如果丢失管理员所,也可以通过密钥文件制作。
- 将密钥文件写入到加密锁①中,制作管理员锁。
- 加密锁①不要是空锁,否则丢失不安全,空锁有默认密码。
- 将公钥文件写入到加密锁②中,制作服务器锁。公钥文件也可以放到程序中,通过代码操作,不一定非得需要一把锁.
- 把标识用户唯一身份的信息写入到加密锁③……中,生成RSA密钥对文件,使用管理员锁中的私钥对用户信息和用户公钥进行数字签名,将签名结果写入到用户锁。
登陆验证
-
用户插上加密锁输入用户名和用户PIN发送登陆请求。
-
服务器返回随机数R。
-
客户端调用用户锁私钥对随机数进行签名,将签名结果连同用户信息发送给服务器。
-
服务器从用户信息中取出用户锁公钥,对随机数签名验签。
-
验签通过, 使用服务器锁公钥对用户信息和用户公钥验签, 确保是管理员签发的用户锁。
-
验证通过登陆成功。
创建用户
- 向user表中添加用户的基本信息。
- 将标识用户唯一身份的信息告知管理员,制作用户锁。
密钥对文件解释:
比如A向B发送邮件,A需要有一个公钥和一个私钥,将公钥暴露给B(不暴露给其他人),A使用私钥对发送的邮件进行加密,B通过A的公钥进行解密,从而实现邮件的加密传输。
同样, A也可以使用公钥对邮件加密, 将私钥暴露给B,B使用私钥解密。
也可以理解为,A使用私钥对邮件进行数字签名,将公钥暴露给B, B使用公钥验证签名,确定是A发送的。
网友评论