作业6
一、功能模块与对应功能
模块名 | 功能 |
---|---|
统计模块 | 用于后台统计用户投票数据 |
登录/注册模块 | 用户登录/注册 |
投票模块 | 用户对自己欲投票的对象进行投票(单选) |
公示模块 | 主办方公示最终结果 |
报名模块 | 报名参加选举人 |
二、认证协议
使用修改的Kerberos协议(加入权限授予和判断)进行认证。
其中登录/注册过程可以看作是Kerberos中的第一和第二阶段,即Client既与AS之间进行身份验证服务交换,又用AS给的Ticket去访问TGS来拿得对应模块的Ticket。
这里分为三个对象:用户,主办方,服务器管理者。
有三级权限:
主办方:所有权限
服务器管理者:除了查看与用户有关信息以外的权限,如:查看当前投票人数(匿名),查看目前结果等
用户:报名成为选举人,按要求对自己欲投票的对象进行投票。
每个对象分别与服务器进行交互。
三、保证隐私不被别人得到
首先可以给网站配置SSL,通过非对称的方式加密对象与服务器之间的通信,有效防止被窃听。
四、如何保证不被伪造 + 不被别人拿信息
这里可以使用非对称加密,主办方生成公钥私钥,并将公钥留给用户,私钥自己留着。用户生成公钥私钥,将公钥传给服务器,私钥自己留着。
凡是涉及到投票的信息,先用用户私钥加密一次,再用主办方公钥加密一次。用户的私钥不泄露,就可以保证不被伪造;主办方的私钥不泄露,就可以防止服务器管理员查看投票信息,只能主办方查看。