作业6 访问控制
1.功能模块
注册模块:用户设置用户名和密码,模块赋予这个账户有效性
登录模块:用户用用户名和密码,模块检查账户有效性后允许登录
报名模块:登录后用户填写个人相关信息,参加报名
投票模块:进行匿名投票,确保投票信息的隐蔽性
统计模块:对投票结果统计并且进行公布
2.认证协议:
使用类似Kerberos的第三方认证服务,第一阶段、第二阶段进行登录或注册,第三阶段获得服务(即投票或投票后查看统计情况)
3.如何保证隐私:
使用基于角色的访问控制(RBAC),角色分为服务器、服务器管理员、普通用户,不同角色设置对应的访问权限和可使用服务。协议中第三方服务器AS需要增加判断当前用户角色身份的功能,通过访问控制使得只能看到自己的投票情况,服务器可以查看个人投票结果并进行统计,而服务器管理员只能看到投票的统计结果。
4.如何保证不被伪造:
使用非对称加密,服务器生成公钥&私钥,用户生成公钥&私钥,投票信息先用用户私钥加密依次,再用服务器公钥加密一次。用户的私钥不泄露即可保证信息不被伪造;服务器的私钥不泄漏,就可以防止服务器管理员查看投票信息。