信息安全作业六

题干

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

软件需求:

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

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

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

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

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

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

设计要求,

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

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

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

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

大家加油吧。

1.功能模块

用户注册模块: 用于用户进行注册和登录

选举人报名模块: 选举人输入相关信息进行报名,服务器为其分配角色

投票模块:统计投票人投票的有效性以及是否所有用户均已投票,如未投票或投票不合理

提醒重新投票

统计模块:投票完成后统计每位候选者所得票数并进行公式

2.认证协议

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

3.隐私保护

①设置访问权限:采用基于用户的访问控制模型RABC,让每位用户只有投票权而无更改权和访问权,即使是管理员也无法进行访问,这就保障了投票人身份的安全性。

②密钥加密:用户端和服务端的通讯在安全信道中进行,可以为每一位用户的投票结果进行加密,同时为管理员提供相应钥匙进行解密,这样只有管理员能看到每位用户的投票结果方便进行统计。

4.无法伪造

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

 

posted @ 2022-05-20 23:20  小黄人hhh  阅读(107)  评论(0)    收藏  举报