作业6 访问控制

设计一个投票系统APP,投票信息关乎隐私,一般采用无记名投票,但在网络上投票具有可溯源性,明文传输别人窃听,就会知道投票人投谁的票。为了保护隐私、又要确认每个人都投了票,要求设计一款APP。

软件需求:

1、采用网络服务器server + 用户手机app模式,

2、主要功能包括:注册、登陆、报名参加选举人、app投票、统计公布选举结果。

3、投票,单选,内容为各选举人加弃权。

4、确认每个人都投了票,而且投了有效票。

5、任何人(包括服务器管理员)也不能知道投票人投了什么票。

6、网络传输要防止窃听。

设计要求,

1、写清楚你的系统为了完成上述功能要求,设计了那些功能模块,每个模块有什么功能;

2、写清楚你的认证协议,要核实身份,是不是有效注册用户;

3、写清楚你是如何保证隐私不被别人得到的;

4、写清楚如何保证无法伪造投票。

大家加油吧。

一、功能模块
注册模块:用户注册和登录。
报名模块:选举人输入个人身份信息报名,服务器为其分配投票资格。
投票模块:统计投票人投票的有效性以及是否所有用户均已投票。如果用户未投票或投票无效,就提醒用户重新投票。
统计模块:投票完成后统计每位候选者所得票数并公示。

二、认证协议
采用Kerberos加密认证方式,让每位用户向服务器申请ticket和TGS票据。用户收到信息后可通过验证码反馈方式进行身份验证,然后进行注册登录,分配身份进行投票。

三、隐私保护
1.设置访问权限:采用基于用户的访问控制模型RABC,让每位用户只有投票权而无更改权和访问权,即使是管理员也无法进行访问,这就保障了投票人身份的安全性。
2.密钥加密:用户端和服务端的通讯在安全信道中进行,可以为每一位用户的投票结果进行加密,同时为管理员提供相应钥匙进行解密,这样只有管理员能看到每位用户的投票结果方便进行统计。

四、无法伪造
在进行登录和注册时,服务端为每位用户分配一个身份,同时投票之前需要输入用户设置好的密码才能开始投票。投票结束后会用自己的密钥将结果进行加密,只有管理员才能打开,故无法伪造。

posted @ 2022-05-23 14:46  小飞侠的昵称被占用了  阅读(37)  评论(0编辑  收藏  举报